思考(七十):跨区服的业务逻辑服设计

背景

不少服务器架构都分区,但是又有跨区业务,比如:

  • 按账号级别的好友系统
  • 按账号级别的聊天系统
  • 按账号级别的公会系统

等等

这些功能代码要独立出来才能实现,这点是毋庸置疑的

主要需要考虑以下问题:

  • 跨区服的业务逻辑服需要解耦与单个区服内服务器的链路关系
  • 跨区服的业务逻辑服又有可能与单个区服内服务器有业务交互(比如单个区服内服务器需要获取本次请求结果这种,不是单纯的Push)
  • 跨区服的业务逻辑服需要有简单(模式化的)编程方式

本文提供一种通过 MQ 来解决以上问题

架构图

在这里插入图片描述

这里说的跨区服的业务逻辑服,在架构图中就是PushServer

通过 MQ ,达成 PushServer 与区服内服务器解耦

即 PushServer 不需要知道区服内服务器架构细节

图中, 1 2 3 是跨区服的业务逻辑服的内容,通过 MQ 获取消息,并投递到上层,执行业务逻辑,再投回 MQ

4 需要区服内服务器程序做好底层支持跨区服的业务逻辑服的消息中继

通常这部分内容,都会有实现过的,只要复用下就行

以上

猜你喜欢

转载自blog.csdn.net/u013272009/article/details/107211869
今日推荐