分布式部署下,如果某臺上的某個進程建立了一個定時器timer1,然后下一次請求這時負載均衡路由到另一個機子,這時要銷毀這個定時器timer1,這就出問題了,找不到這個定時器。如何在分布式部署下準確的銷毀定時器?
如果按照你的思路回答,那么無非是要設(shè)法“找到這個定時器”,兩個方法,一個是用一個專門的進程來管理所有定時器,一個是建立一個注冊機制(比如用 redis 或者 GlobalData)來注冊查找定時器。
但如果可能的話,在負載均衡環(huán)節(jié)把一個特定的用戶路由到一個固定的機器上,也許是最簡單的辦法,比如按照客戶端 IP 地址進行均衡分配。