通用接口开放平台设计与实现——(8)消息服务之消息格式的设计与实现

概述

接口平台通过消息服务来通知对接系统数据的变化,避免轮询,这些消息,本质上是业务事件。

例如,对于物流这个业务场景下的交货单,在单据创建、委托下达、车辆进厂、车辆离厂、客户签收等事件产生时,给相关系统推送一条消息,简要通知事件信息,如单据的新增、修改、作废,只需要消息中携带单号和类型即可。

虽然消息服务从技术角度上有能力推送更多的业务数据,但我们从规划设计上,只赋予消息通知轻量级的通知职责,即仅告知数据变化,具体发生了什么变化,相关系统如需要,则可以调用API接口进行数据查询(通常新增和修改需要调用查询,而作废则无需再查询数据),这样设计可以保证关键业务逻辑在API接口中实现,而不是在API和消息服务中重复出现相同或相似的业务逻辑处理。

初步方案

按照上面的设计思路,事件只需要单据标识和状态(或称之为事件描述)即可,将事件作为消息内容,并附加一个消息主题,在生产者、消息服务中心和消费者之间传递。

事件本身很简单,只定义一个包括标识和状态在内的基类即可,暂不考虑根据具体业务事件进行扩展,否则当业务扩展时,服务端增加新的业务事件,需要客户端也同步增加新的业务事件,反而增加耦合度,不如直接用基类来做反序列化和解析来得方便。

/**
 * 事件基类
 * @author wqliu
 * @date 2021-10-5
 **/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学海无涯,行者无疆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值