- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 负载均衡下拨号客户端(client)和服务端(server)的实现 client1 client2 client3 TOMCATE1 TOMCATE2 管理库 server client apache服务器 客户端(client)的实现 管理库 c_agent status date YES/NO sysdate 定时检测表的状态,当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 y 服务端(tomcate)如何只开启一个定时器的实现 方案1(定时器配置走表格) 管理库 client1 client2 client3 TOMCATE1 TOMCATE2 server client apache服务器 s_agent server status enable Tom1 Y Y Tom2 Y N 定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 server status url Tom1 Y 地址1 Tom2 Y 地址2 ip ip1 ip2 port p1 p2 定1 定2 设置status为N 表格只维护tomcate状态,具体定时器的状态修改由修改配置文件完成,修改后重启quartz(定时器)。 服务端(tomcate)如何只开启一个定时器的实现 方案3(定时器配置走配置文件) 管理库 client1 client2 client3 TOMCATE1 TOMCATE2 server client apache服务器 s_agent server status proId Tom1 Y pid1 Tom2 Y pid2 ip ip1 ip2 port p1 p2 定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服务器 s_agent server status Tom1 Y Tom2 Y times 0 0 定1 定2 设置status为N 两个定时器都是开启的,但是要具体的业务逻辑中要加入判断。维护表,使表中永远只有一条记录的status为Y。 区分tomcate的方式:各个tomcate里写一个配置文件,标识自己的唯一性,如server。 服务端(tomcate)如何只开启一个定时器的实现 最终确定方案(方案3) 管理库 client1 client2 client3 TOMCATE1 TOMCATE2 server client apache服务器 s_agent server status Tom1 Y Tom2 Y times 0 0 定1 定2 设置status为N 定时器逻辑: 如果有自己的记录,则将status设置为Y。 首先检测表中为fina_status为Y的总数,如果为0,则将自己的记录插入,如果为1且server的标识和自己的不同则不执行拨号的逻辑,如果为1且server的标识和自己的相同,则执行拨号逻辑。如果为2,则任意删除一条。 server status Tom1 Y
文档评论(0)