还是有点不太理解Whatspp这个设计中MessageService的role是什么
老师说是为了可以和WebSocket Server分开scale,但是
- MessageService是Stateful还是Stateless的?听上去好像是Stateful的。那是不是需要一个consistent hashing之类的 来让一台MessageService server找到接收方所在的server? 而且如果是Stateful的,MessageService和WebSocket Server都是跟用户数量相关,为啥说是分开scale out呢
- MessageService server怎么找到WebSocket Server,是需要另外一个数据库(加cache),来保存哪个用户具体在哪台机器吗?如果是的话,这个数据库的key是user id,value是server IP + port?
3)好像websocket自带pubsub功能, 比如https://azure.microsoft.com/en-us/services/web-pubsub/ 这种是不是内部就跟我们的MessageService比较像?
谢谢!