有同学想做MMORPG,不知道怎么做分布式,下面是我的思考,抛砖引玉。

mmorpg 客户端 架构 mmorpg框架_微服务

首先,微服务下不是服务分的越细越好,只要独立可共享的业务适合做成微服务,比如支付。不光项目内用,还可以和其它项目共用。避免重复开发。
如上设计分成五个节点服务。分别介绍:

Gate

这个连接用来做负载均衡,只是为了获取连接服的连接地址用,客户端连接后,拿到连接服的IP和端口就断开。其中,如何选择连接服的策略可以是随机、轮询、加权重等。

Connector

连接服:每一个用户一个连接,连接绑定用户的ID。主要由它发起其它服务的RPC,代客户端向后台请求服务。

Login

登入服:做登入验证,账号相关的一切服务。

Area

地图服务:有多少张地图对应多少个Area节点。包括:主城,野外,副本。需要做地图加载,空间对象管理,ai等。

Chat

聊天服务:处理聊天转发,聊天记录。

看起来所说的微服务和原来的分布式没啥区别嘛!只是服务发现都走注册中心而已,但是,业务层如何抽象成微服务就看不同的需求了。