负载均衡下拨号客户端(client)和服务端(server)的实现
client1
client2
client3
TOMCATE1
TOMCATE2
管理库
server
client
apache服务器
客户端(client)的实现
管理库
c_agent
定时检测表的状态,当status变为yes的时候,说明服务端有更新,则停止拨号的运行,将服务端的jar包下载到客户端特定的目录中,然后将status设为no,启动拨号。
jar
ftp
client1
client2
client3
TOMCATE1
TOMCATE2
client
apache服务器
server
服务端(server)的实现
管理库
client1
client2
client3
TOMCATE1
TOMCATE2
server
client
apache服务器
s_agent
服务端(tomcate)如何只开启一个定时器的实现
方案1(定时器配置走表格)
管理库
client1
client2
client3
TOMCATE1
TOMCATE2
server
client
apache服务器
s_agent
定1
定2
status=Y的条件下,count(*) =2,什么都不做,当=1时,判断enable,当enable=Y时什么也不做,当enable=N时,将enable=Y,且将status=N的enable=N,动态重启定时器。
这样就保证了当Tomcate正常后永远只有一个定时器在跑。
设置status为N
服务端(tomcate)如何只开启一个定时器的实现
方案2(定时器配置走配置文件)
管理库
client1
client2
client3
TOMCATE1
TOMCATE2
server
client
apache服务器
s_agent
定1
定2
设置status为N
表格只维护tomcate状态,具体定时器的状态修改由修改配置文件完成,修改后重启quartz(定时器)。
服务端(tomcate)如何只开启一个定时器的实现
方案3(定时器配置走配置文件)
管理库
client1
client2
client3
TOMCATE1
TOMCATE2
server
client
apache服务器
s_agent
定1
定2
设置status为N
两个定时器都是开启的,但是要具体的业务逻辑中要加入判断。维护表,使表中永远只有一条记录。
服务端(tomcate)如何只开启一个定时器的实现
方案4(agent中负责拨号服务端执行)
管理库
client1
client2
client3
TOMCATE1
TOMCATE2
server
client
apache服务器
s_agent
将Tomcate中拨号服务端的逻辑迁到agent中,然后再写一个守护进程。
服务端(tomcate)如何只开启一个定时器的实现
最终确定方案(方案3)
管理库
client1
client2
client3
TOMCATE1
TOMCATE2
server
client
apache服
均衡负载 来自淘豆网www.taodocs.com转载请标明出处.