关于Lt分发系统的时序图分析

本文介绍了一个系统的更新流程,包括向母服务器提交WAR包并更新版本号的过程,通过地图记录各子服务器状态,以及子服务器如何确认接收更新。还讨论了母服务器如何通知子服务器进行代码更新,并保持状态同步。

我们已经知道,系统共分为两个模块,mather与son

同时系统允许的操作也有三种,向mather提交war包,我某个服务器更新代码,为所有服务器更新代码


我们一个一个来看

先说,向mather提交war


最新的版本号存储在一个txt文件里,每次更新文件的时候,都会想txt文件里的版本号(就是一个int型的数值)加一


下来就是向某一个son更新代码


在mather里面有一个map,key是各个服务器的ip,value是对应的版本号,每次一旦改变了这个map,下一步就是把这个map持久化的文件里,每次系统启动的时候,也要从文件里获取各个son的版本信息

我们再说说消息六,jsp会每隔10s去查看mather的map,也就是个各个son的版本信息,如果某个value的值为负数,就说明这个服务器的代码正在更新中,如果value是正数,且小于mather内部保存的最新版本号,那么说明,这个服务器的代码不是最新的,有待更新,如果value的值等于最新的版本号,那就是说服务器上的代码是最新的,无需更新


另外,每个son接受到war后,都会想mather发送一个确认消息,Mather收到son的消息后,就执行第五步,



最后就是最麻烦的全部发送



上面,3-7步骤会循环执行,把所有的son_trunk都发送到

8-13步骤,也会循环执行,每个son收到war文件后(不管是mather发送的还是son_trunk发送的,都会给mather发送一条确认消息),而mather收到消息后都会更新map表,然后持久化到文件里




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值