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

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

相关推荐
架构师沉默18 小时前
别又牛逼了!AI 写 Java 代码真的行吗?
java·后端·架构
后端AI实验室1 天前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术1 天前
Java 实现企业微信扫码登录
java·企业微信
狂奔小菜鸡1 天前
Day41 | Java中的锁分类
java·后端·java ee
hooknum1 天前
学习记录:基于JWT简单实现登录认证功能-demo
java
程序员Terry1 天前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP1 天前
MyBatis-缓存与注解式开发
java
码路飞1 天前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero1 天前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing1 天前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员