pomelo教程的例子是一个聊天室,包括一个webserver客户端,和一个gameserver的pomelo服务器。这个例子挺好,一个聊天系统逻辑简单,还包括了用户管理,客户端request,服务器push等内容,很说明问题。
教程地址:https://github.com/NetEase/pomelo/wiki/%E5%89%8D%E8%A8%80
服务器类型
pomelo中有四类服务器,gate, connector, logic, master
我的理解,客户端先要连gate服,然后gate服告诉客户端要连哪个connector服(之后gate服就没有用了),然后客户端再去连给定的connector服,给connector发请求,connector通过一定的路由找到该请求对应的logic服,logic执行完把response返回connector,connector再返回客户端。master服提供全局的admin操作。
总的来说,gate和master是类似utils的存在,主要逻辑是client--connector--logic三者之间的分层交互。
Session
Session存一个连接的用户id和session这些内容。关于FrontendSession, BackendSession这些,教程里说容易迷惑,我确实迷惑了。我感觉是frontend服务器中对session的隔离,有什么修改先对FrontendSession操作,再调用push同步到主session中。但是这样有什么好处没搞清楚。等后面深入分析之后也许就能明白。