平台介绍-主数据系统-同步消息设计

前面讲过,平台内嵌的主数据系统使用rocketMQ来构建数据同步操作。业务端数据变动时,往消息队列发送变动消息即可。之所以采用这样的架构,核心原因是restful接口一般做成同步的,业务端需要等待主数据系统处理完同步时才能返回,这种架构不适合大批量数据传递。

rocketmq发送消息的数据结构是org.apache.rocketmq.common.message.Message,而主数据系统存储的数据五花八门,如何使用单一结构来表达千变万化的数据呢?依赖于精心设计的数据封账规则:

1、topic 主题。

使用这个字段来描述对象,如"employee"标识员工,"order"标识订单。

2、tags(标签)。

使用这个字段来描述动作,如"create" 标识创建,"update"标识更新

3、body(数据主体)

整个平台封账业务交换主体是各类dto类,Message这个字段是字节数据。

消费者、生产者,需要根据topic+tags来唯一确定dto类结构,然后在字节数组和dto类之间进行互转。

通过以上硬性规定来实现各类业务数据和Message结构体之间的数据互转

相关推荐
MY_TEUCK4 小时前
Sealos 平台部署实战指南:结合 Cursor 与版本发布流程
java·人工智能·学习·aigc
我爱cope4 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
朝新_5 小时前
【Spring AI 】图像与语音模型实战
java·人工智能·spring
RH2312115 小时前
2026.4.16Linux 管道
java·linux·服务器
zmsofts6 小时前
java面试必问13:MyBatis 一级缓存、二级缓存:从原理到脏数据,一篇讲透
java·面试·mybatis
aq55356007 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
我是无敌小恐龙8 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习
心态与习惯8 小时前
Julia 初探,及与 C++,Java,Python 的比较
java·c++·python·julia·比较
一叶飘零_sweeeet9 小时前
优秀文章合集
java
zopple9 小时前
ThinkPHP5.x与3.x核心差异解析
java·python·php