• Sonny721
    2019-05-21
    老师您好,消息的防重和顺序有哪些好的解决方案吗?

    作者回复: 关于重复的问题,建议让业务逻辑自己来做幂等性控制,总有什么ID能做幂等控制的。顺序,不管怎么样,我建议你都认为消息可能会乱序,消费者这里要考虑乱序的情况,比如处理某个订单的消息时有状态机之类的设计,已经推进到后面的状态了,这时再来个之前状态的消息,就直接忽略掉这个消息。

     1
     3
  • 杨杰
    2020-02-01
    关于在微服务下的消息幂等。有一个简单的考虑:在每个微服务库里面增加一个本地消息表(可以通过消息处理状态或者分成已处理、未处理两个消息表),每次收到消息后先去消息表里面检查是否处理过。但是这样有一个问题:每个微服务的数据库里面都要有消息表,万一数据结构变化了比较麻烦;如果消息是存在单独的库里面,感觉又涉及到分布式事务了。不知道是否有其他更好的办法?

    作者回复: 幂等表是一种常见的做法,因为幂等是和业务有紧密关系的,所以幂等表也是跟着业务走的,而不是千篇一律都是一样的。对于消息而言,不仅要考虑重复,还要考虑乱序,有时一条消息后续还有别的消息,后续的消息处理过了,那前面那条到晚了,也不能按原先逻辑处理,所以这些都要由业务系统来实现这些功能,MQ本身不应该介入在其中。

    
    
  • ABC
    2019-05-28
    老师,我看到之前有同学问过Spring Cloud Data Flow,请问这个是用来做什么的呢?如果要学习的话,应该从哪入手呢?谢谢。

    作者回复: 这个我们在课程开始时就有一张来自官网的图,当中Spring Cloud Data Flow就是CONNECT ANYTHING,用来连接万物的,你可以再到spring.io首页看看,主要用来打通各种数据的。如果是我的话,我还是会先看官方文档和指南,先了解概况的。

    
    
我们在线,来聊聊吧