无需中心服务器
(金庆的专栏)
网游服务器功能分为实时与非实时.
实时功能与非实时功能服务器位于不同物理机,CPU负载不同.
实时功能以时延小为目标,非实时功能以吞吐量大为目标,对网络消息的处理方式不同.
客户端可以用一个链接连接网关,由网关区分实时消息与非实时消息.
或者客户端直接独立一个实时功能长链接,再加一个或多个非实时功能短链接.
非实时功能可使用HTTP协议实现.
非实时功能也是多进程并行,无需中心服务器,避免单点故障.
非实时功能的状态尽量放在分布式数据库上,最好是做成无状态服务.
实在是需要集中统一处理的功能,可以在这些进程中选举一个进程.
可以利用ZooKeeper的领导选举功能.
集中性功能尽量做成小粒度的功能,不同功能可分散选举.