欢迎来到天天文库
浏览记录
ID:14276422
大小:69.50 KB
页数:5页
时间:2018-07-27
《中间件集群实现和使用说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中间件集群实现和使用说明关键字:Master主控制器节点机节点探针功能目标a、扩展中间件负载能力,b、在全系统内实现资源调度,c、对外屏蔽中间件的工作,实现方案其他实现方案以下是我以前的思路和想法,放在这里仅做参考;体系结构和功能分层模块、接口、系统运行类、数据、模型计算模型主控制器MasterCLUSTER中总是有一个机器或一个机器的一个中间件节点担任主控制器,其他的节点之间可以知道别的节点的信息,也可以不知道,但主控制器必须知道其他节点的信息,并在CLUSTER的集体事务中担任协调者和仲裁者;共享数据区(进程间通信模型)共享
2、数据区在不同的进程间担任共享内存的角色,CLUSTER通过其他的机制保证数据的完整性和一致性;资源管理器:将对共享数据的操作抽象成对有可能竞争的资源,CLUSTER通过资源管理器管理共享的数据和资源,当一个节点宕掉的时候,其他的节点接管资源管理器,资源管理器把数据、资源和对数据、资源的操作封装在一起,也将是支持分布式事务的两阶段提交协议的主要模型;中间件运行监控(进程间通信模型)一个进程中的一个线程监听另一个进程的运行状态;负载调度(负载计算模型)负载调度包括四个方面:如何选取计算机的负载参数;计算机负载状况评估;任务分配方案;
3、任务分配;节点探测(剩余计算模型)节点探测包括:如何选取计算机的计算能力参数;剩余计算能力的评估;节点信息监控和节点信息数据传输;使用过场a、启动中间件;在prop.xml文件中设置的属性为true,则系统启动中间件并首先启动80端口为主控制器,并依次启动三个中间件web端口为80,8080,8081,系统首先将80端口的中间件指定为主控制器,要保证当前目录下的node即个个web端口的tomcat的配置文件非空、正确。系统启动的时候会创建一批数据结构和维
4、护线程(从略)。b、如果prop.xml文件中的设置的属性为false,则系统启动中间件时,会发一条广播消息给系统,寻找Master控制器,如果没有,则系统等待Master启动,然后,下载Master机器的prop.xml,和./ierp/bin/目录下的xml文件,以保持配置同步;c、Master裁决和讨论;系统结构支持对Master的选举产生和独裁指定的两种方式,目前系统采用后种,默认Master不会宕掉,如果Master宕掉的时候,监控线程重启80端
5、口并重设80端口为Master;其余的节点机当发现Master宕掉时,暂时不讨论重选Master,等待Master重启;a、共享数据区的使用;个个节点机调用统一的接口ClusterTool.getShareDataArea().setToMasterShareData(id,obj);将数据写到Master的共享数据区里去,再有Master定时写到所有的节点机器的共享数据区里去,只有Master自己才调用ClusterTool.getShareDataArea().setShareData(id,obj);的方法,b、节点信息探
6、测;在每一个节点机器都有一个动态的采集系统节点的信息的线程;a、负载调度;负载的任务调度是通过Master调用负载分配器,分发客户的请求;并监控节点机的负载情况,负载分配器共实现以下分配方式:Typical:典型的根据机器的静态的配置情况,计算其应有的计算能力,并根据其计算的结果和比例分配任务;推荐使用该配置,Round:单循环的根据Cluster的节点列表,依次调用,如果是Master跳过;Random:随机的随机选取,如果是Master跳过;WeightBased:剩余计算能力的根据机器的动态的负载情况,计算其剩余的计算能力
7、,为其分配负载,各个分配模式中强制使Master不参与调度,并在且只在其他节点机都宕掉时才接管所有的任务;负载调度实现的体系结构支持以下几个方面的独立扩展,不影响整个系统的结构:1、计算机计算能力评估的数学模型;2、计算机计算能力参数的获取;3、计算机负载状况评估的数学模型;4、计算机负载参数的获取;f、系统登陆;系统登陆时在注册本节点机的服务环境的同时,将信息登记到Master的机器上去,如果客户端在请求原url没有成功的时候,会重定向到Master上面,并带有客户端的唯一标识(李充蒲写的)和不是新登陆的标志(NoLogin)
8、,请求Master重新分配一个新的url,如果Master连接不上,线程重试,连续失败10次,说明Master宕掉,客户进程终止,Master发现不是新登陆的用户,会查找该用户的注册服务器的信息,一同分配到一个新的节点机,并恢复其用户的服务器环境;调用负载分配模
此文档下载收益归作者所有