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

前面讲过,平台内嵌的主数据系统使用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结构体之间的数据互转

相关推荐
古法老登瞎折腾6 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
智能运维指南7 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
yz_aiks8 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵8 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设8 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都8 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵9 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作
白山编程大哥9 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Linux运维技术栈9 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
On The Road :9 小时前
Java 多线程详解:从入门到线程安全
java·python·安全