您的位置:首页 > 运维架构

【5. 监控调度处理模块】云跳板机服务系统设计及实现

2015-05-29 19:34 513 查看
五.监控调度处理模块

此文原出自【爱运维社区】: http://www.easysb.cn

5.1 概述

事件调度处理模块,是整个后端系统框架的的中央枢纽,它通过对用户用户指令的分析,然后产生跳板机消息和Ticket消息。其中跳板机消息主要是和跳板机权限和服务器管理相关,会被转发给相对应的跳板机处理,而Ticket消息一般是部门管理员申请跳板机服务时所产生的,该事件处理模块对此消息进行处理,而不会进行转发。

5.2事件调度处理模块

用户所有的管理的操作都是通过前台操作的,待处理的管理操作都会存入数据库中,等待处理。而事件调度处理模块则是通过对数据库的操作指令数据进行监控,然后产生相对应的消息,并进行处理,其框架图6-2-1所示。





图 6-2-1 事件调度处理模块结构图

从上图中,我可以看出,该模块包含了权限管理监控,服务器管理监控,Ticket管理监控,秘钥同步监控四个监控线程和10个消息处理线程。各个监控线程是相互独立的,他所产生的消息都会统一推入到消息队列中,然后消息处理线程会从队列中取出消息,进行处理。

5.2.1 权限管理监控

权限管理监控主要负责监控用户对服务器的访问权限变动。当管理员通过Web模块授权或者回收某个用户的权限时,该监控线程就会检测到,并产生一个相对应的跳板机消息,压入到消息队列中。产生的消息有两种,一种是当管理员授权服务访问时,会产生添加用户权限的跳板机消息;另外一种是当管理员删除服务器是,会产生删除用户权限的跳板机消息。

5.2.2 服务器管理监控

服务器管理监控主要是负责监控跳板机所管理的服务器变动。当管理员通过Web模块添加服务器时,那么会产生一个服务器添加的跳板机消息,发到到消息队列,而当管理员删除服务器时,则会产生一个服务器删除的跳板机消息,然后发送到消息队列中。

5.2.3 Ticket 管理监控

Ticket管理监控主要是监控管理员申请跳板机服务。当有申请跳板机服务Ticket时,该监控会产生一条申请跳板机的Ticket消息,然后推入到消息队列。当申请的跳板机已经准备好时,会产生一条安装跳板机的Ticket消息。Ticket消息是直接在消息处理线程中处理的,不会转发到跳板机上。

5.2.4 密钥同步监控

密钥同步监控主要监控用户的密钥发生变化时,自动同步密钥到跳板机上。如当有用户添加或更新了密钥时,那么该监控会产生一条同步密钥的跳板机消息,然后推入到消息队列中。

5.2.5 消息处理线程

所有的监控都会产生相对应的消息,然后推入到消息队列中,而消息处理线程则是从消息队列中取出消息,然后进行处理。消息处理线程的数量是可以配置的,相互之间是独立的,不存在任何耦合。消息处理线程对不同的消息类型,处理方式不同。对于Ticket类型的消息,如果是跳板机服务申请消息,则会自动去申请服务器资源作为跳板机;如果是跳板机资源已经准备就绪的消息,那么它就会自动去安装部署跳板机的环境。对于跳板机消息,则先找出该消息对应的跳板机,然后再通过HTTP
POST方式将消息转发过去,当跳板机处理完时,会以json格式返回处理的结果。

5.3. 小结

我们可以看出,监控调度处理模块是整个后台系统的消息产生分发中心,绝大大部分的用户管理操作,都必须经过此模块的调度转发,才能被正确地处理。

作者:胡杨<jekkay@easysb.cn><479904359@qq.com>

此文原出自【爱运维社区】: http://www.easysb.cn

如转载请标明原出处,谢绝阉割党。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: