看到有朋友面经提到whatsapp的设计 想了想 有几个问题请教大家
服务器(很多)理论上每个可以支持上万个socket 每个聊天用户通过一个socket与服
务器相连
两个用户之间聊天
每个用户都可以与服务器通信 但是两个用户之间如何通信呢? 我认为的可能的方法是
在服务器上有很多thread 每个 thread listens to 很多sockets 一旦确定来自两个
socket的两个client发出了聊天意向 并且属于同一个channel id 则通过 in memory
的数据结构是两个client进行通信 不知道这种想法对吗?
谢谢
j**********r 发帖数: 3798
2
Users will connect to a node in a cluster and register to a distributed DB
like C*. A message will be delivered asynchronously from a user to another,
a confirmation will be returned.