通用接口开放平台设计与实现——(14)消息服务端之消息转发

上篇说了业务处理框架,对于请求消息处理器,有个比较复杂的消息转发逻辑,今天重点来说说。

为什么要转发?
对于消息通知的处理,我们设计的是发布-订阅者模式,消息中心在消息的生产者和消费者之间充当经纪人角色,负责二者的解耦,对于生产者来说,不需要知道会被哪些消费者消费,对于消费者来说,也不需要知道消息是怎么产生的,由消息中心进行逻辑处理和调度,包括消息的解析、复制、转发等。

转发给谁?
这块实际涉及到权限问题,不仅仅是功能权限,还有数据权限。

从功能权限的角度出发,接口平台,可以配置允许将哪些消息主题的消息发送给哪些应用。在这个基础之上,配置应用订阅哪些消息主题。

从数据权限角度出发,并不意味着应用订阅了消息主题,所有该消息主题的消息都能转发到该应用,例如物流系统对接了多家承运商系统,对于一笔运输需求,只会委托1家承运商,因为对于委托单创建这种消息,只会向被委托的这家承运商系统推送消息,而不会也不能推送给所有对接的承运商系统。

数据权限的控制是系统的难点和重点,下篇我们专门介绍关于数据权限的设计。

上一篇:【2022-1-14】


下一篇:环境标识