预警集群方案1.说明:预警集群的应用场景和普通的单点集群(SP)可以理解为一样。只是单点是指服务部署在master主机上,而预警服务必须运行在非master节点上。(水平集群的node和垂直集群的node无所谓)集群节点的正常启动顺序:Master,预警服务器,其他集群节点。2.预警服务的集群配置(1)指定预警服务器。方法一,ncSysConfig.bat(针对NC中间件)/wasSysconfig.bat(针对WAS中间件)中配置服务图1查看当前集群的节点图2必须在非Master节点上添加预警服务图3配置完成保存后的预警服务方法二,直接修改配置文件(针对高级用户)。(a)首先在serviceslist.xml(服务列表配置文件)中能看到如下元素:IPreAlertConfigService预警服务false其中IPreAlertConfigService即对应预警接口配置文件的nc.itf.uap.pa.IPreAlertConfigService(注该名字不能随便改,中间件代码处写死了)。该文件不用修改,默认发版自带。(b)修改servicerun.xml服务运行列表。如果配置了预警集群服务则会看到如下配置信息:truenode02IPreAlertConfigService如上可见,预警服务是将会运行在node02上。即通过预警调用的服务和日志都会在node02上。3.预警对于集群的代码的处理(1)PreAlerLoader该类会在中间件启动时候,自动加载后台任务(默认如此,可以通过配置scheduleengine.xml来修改)。(2)同步监听PAClusterListener部署为一个private组件。见P_prealert50.upmnc.bs.pub.pa.PAClusterListener(预警平台集群消息侦听器)的实现。其只有onMessage一个方法,处理当消息来临时候如何处理?预警的处理是:把接收到的消息(为预警文件)同步到监听的服务器。默认是会同步到所有服务器。nc.bs.pub.pa.PAClusterMessageFilter预警平台集群消息过滤器。过滤预警需要处理的消息。(3)IPreAlertConfigService接口前面配置时候已经描述,IPreAlertConfigService是作为一个定点的服务来部署的。所以调用该接口的方法,都会在该定点的服务器上来执行。如insertAlertRegistries(..)新增条目,如果是定时的,那么便只会在定点服务器去定时执行。