用redis订阅发布,统一文章的发布。

记录一个redis订阅发布多个系统的问题。

1.需求app后台管理发布文章,因为有多个app,每个app对应一个后台,当发布一篇文章需要同时操作多个后台,重复性工作。(想偷懒,一个后台发布文章,其他后台同步。)

2.解决思路多个app之间有一个公共的redis,利用redis的发布订阅功能。做一个文章的发布,其他app后台订阅同步数据。

3.代码实现就是利用 redis 订阅发布(伪代码)

//方法发布消息,传递文章json串
pubRedisTemplate.convertAndSend()

//监听配置
RedisMessageListenerContainer 

//实现监听接口的实现类
ExpertViewListener implements MessageListener

//1.第一步就是发送新增、或者修改的文章json串
//2.第二步配置监听类
//3.第三步配置监听容器对应关系
//4.发布完对应的新增或者修改、监听类得到对应json串解析,操作数据库增加或者修改。

4.上述流程看似很简单开发完成后,发现个问题就是修改的时候是通过主键id,来修改的。各个后台数据库文章的自增id可能不一致。导致修改时候出问题。

5.解决方式,新增的时候生成一个唯一id号,新加一个唯一id字段用来存放。当订阅修改的时候,通过这个唯一的id号来修改,避免修改失败。相当于在分布式当中使用了一个唯一id。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值