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

时间:2023-03-09 02:01:55
关于Lt分发系统的时序图分析

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

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

我们一个一个来看

先说,向mather提交war

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

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

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

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

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

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

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

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

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

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

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