qq_16590545
qq_16590545
采纳率81.3%
2020-04-07 20:35 阅读 238

mq,redis问题,知道的大神请指点一下,谢谢

10

1.redis问题
前提:redis是一个主从结构的redis,一主两从
问题:实现一个分布式锁,setnx(主键,失效时间),线程1刚获取到锁(主还没有将数据同步到从),
进行业务处理,主节点挂了,从节点变主节点了,线程2也获得了锁,导致了问题

2.mq问题
前提:对业务数据用sharding-jdbc进行了分表操作,但是为了后台能很好的展示数据,在使用sharding-jdbc将数据插入数据库之后,同时将这条数据放入mq,
通过其他的程序来消费将数据放入es中;
问题:在使用sharding-jdbc将数据插入数据库之后,mq挂掉了,这个时候导致了数据的不同步

以上两个问题,请csdn中的互联网大神帮忙解答一下解决思路,谢谢了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    DSR168367406 普通码农 2020-04-07 22:40

    1.针对这个问题,redis作者提出了集群的解决方案,但是也不是完美的方案,如果你的qps不高的话,可以尝试zookeeper的有序临时节点进行分布式锁
    2.这个问题,建议不要代码中发送mq消息,可以换个思路,把发送消息的动作给切出来
    -使用canel将binlog发送到mq,
    -针对消息组件的稳定性,这个没有百分百完美的方案,可以尝试kafka,通过控制ack=all,但是这样也就牺牲了高吞吐的特性
    还是针对具体的业务去思考把

    点赞 评论 复制链接分享

相关推荐