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

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

相关推荐
荣码4 分钟前
Function Calling:比Agent更靠谱的工具调用,我踩了4个坑
java·python
杨丰玮41842 分钟前
暑假Java知识点回顾:类与对象知识总结
java·开发语言
盐焗鹌鹑蛋43 分钟前
【Linux】ELF与库加载
java·linux·服务器
WarPigs1 小时前
Unity未激活的物体无法响应事件?
java·unity·游戏引擎
十五喵源码网1 小时前
基于SpringBoot2+vue2的公寓报修管理系统
java·毕业设计·springboot·论文笔记
珍珠先生1 小时前
第16章 集合框架:List 与 Set
java
薛定猫AI1 小时前
【深度解析】DeepSeek Harness:可插拔智能体运行时如何连接大模型与真实计算机
java·运维·网络
rannn_1111 小时前
【力扣hot100】回溯专题|全排列、子集、字母组合、组合总和、括号生成、单词搜索、分割回文串、N皇后
java·算法·leetcode·回溯
nxb5562 小时前
云原生:控制器
java·开发语言·云原生
咖啡八杯2 小时前
统一返回对象设计:AjaxResult 与 R 的取舍
java·spring boot·框架·若依·返回值