分布式部署下,定时器的销毁问题

wintrue

分布式部署下,如果某台上的某个进程建立了一个定时器timer1,然后下一次请求这时负载均衡路由到另一个机子,这时要销毁这个定时器timer1,这就出问题了,找不到这个定时器。如何在分布式部署下准确的销毁定时器?

2415 1 0
1个回答

maq

如果按照你的思路回答,那么无非是要设法“找到这个定时器”,两个方法,一个是用一个专门的进程来管理所有定时器,一个是建立一个注册机制(比如用 redis 或者 GlobalData)来注册查找定时器。

但如果可能的话,在负载均衡环节把一个特定的用户路由到一个固定的机器上,也许是最简单的办法,比如按照客户端 IP 地址进行均衡分配。

  • wintrue 2018-04-26

    考虑过负载均衡的均衡方式,不过如果按IP来的话这个均衡就不太平衡了,目前都是按权重进行的,所以访问的是哪个机子是不定的。分布式群集下,timer id是否有可能是全局的?

  • maq 2018-04-27

    多进程之间是不存在“全局变量”这个概念的。话说, IP 地址为啥就“不太平衡”呢?是不是你考察的 IP 数量太少了?

年代过于久远,无法发表回答
🔝