发表日期:2020-09-16 11:00:17文章编辑:浏览次数:453 标签:知识中心
1 route info server可以进一步抽象成元数据服务器,其管理所有元数据,比如用户登录信息(基础信息、上下线。),消息服务器的信息(基础信息、上下线。)并负责广播元数据的变动。
2 用户如何登录到消息服务器,其实还是要元数据服务器管,也就是,用户登录必须先连到元数据服务器,由元数据服务器分配一台消息服务器给用户,这个算法可以有很多,也可以根据具体情况调整。
好,这样一来,整个系统唯一的管理者就出现了,不论是用户还是消息服务器,都受元数据服务器的指挥,这样消息服务器的动态伸缩就很容易做到,同时用户的上下线的信息也很容易同步给所有消息服务器。如果服务器下线,用户就会被元数据服务器分配到新的消息服务器,整个集群透明化。
接下来怎么做?每个消息服务器有自己负责的用户,一旦发现用户不是自己负责的,那么直接转发给其它的消息服务器,也就是,消息服务器之间本身互联,并不需要走route server,没啥必要。
整个集群设计就此完成,动静分离,路由打通,基本实现了一个完整的高可用集群方案。
以上只考虑消息走消息服务器的场景。