【消息队列】消息队列笔记

以下内容参考敖丙大大的文章

消息队列是什么?

消息队列:消息队列就是一个使用队列来通信的组件


消息队列基本模型

  • 队列
    队列是FIFO,消息会统一发送到队列中,通过后面的服务来做一些消费。
    优势:简单,适合一些比较trick的场景,不需要做很多边界逻辑来兼容一些case,比如消费过多或者发布过多 导致一些管理的问题。

  • 发布/订阅
    类似producers和consumers,一方负责生产数据,一方负责消费.


  • 消息有序性
    消息的顺序又分为全局有序和局部有序,kafka中可以通过某个key写入到不同的partition中,单线程消费保证 有序就可以了,有种3线程顺序打印的感觉

  • 消息重复性
    消息重复分别有网络的原因和一些人为的因素,可以通过全局ID和mysql中的duplicate或者postgres中的 confliect来保证幂等性。

  • 消息丢失性
    处理好exception,做好backoff,backoff又分多种,定时重传,延期重传


敖丙-消息队列