sender消息通过websocket server以后为啥不能直接forward给正确的message server?比如message server用consistent hashing来做,再用一个configuration service (zookeeper)来让websocket server知道该把消息forward 给哪个message server,这样不就少了一跳了么?
这样处理的话,websocket server 的任务就不仅仅是维护 websocket connection 而是包含了 messaging service 的业务逻辑。把业务逻辑从 websocket server 剥离可以使 websocket server 能够 maintain 更多的 connection。
如果希望尽量减少 server hop,我们可以考虑更进一步,把websocket server 和 messaging service 合并,让 websocket server 直接 forward 给另一个 websocket server,也是可以考虑的。
这个讨论本质上是 monolithic architecture 和 microservice architecture 的优劣讨论,只能说是各有利弊。
2 个赞
这个问题确实可以思考一下,我在另一个帖子下面也问题了一下这个问题
我刚在那个帖子里回答了。