1. [消息传输一致 - 3种消息传输一致性语义]
  2. :最多1 ,可能会出现数据丢失情况
  3. :最少1 ,可能会重传数据,有可能出现数据被重复处理的情况
  4. :恰好1 ,并不是指真正只传输1次,只不过有一个机制。确保不会出现“数据被重复处理”和“数据丢失”的情况
  5. // 消息模型可以分为两种, 队列和发布-订阅式
  6. // 队列的处理方式是 一组消费者从服务器读取消息,一条消息只有其中的一个消费者来处理
  7. // 发布-订阅模型中,消息被广播给所有的消费者,接收到消息的消费者都可以处理此消息

MQ (点对点 p2p 、发布订阅 Pub/Sub )

点对点消息传递模式 ,生产者发送一条消息到queue,只有一个消费者能收到。

image.png

发布-订阅消息传递模式,消息被持久化到一个topic中

image.png

[消息队列(Queue)]

[主题(Topic)]

[发布者(Publisher)]

[订阅者(Subscriber)]

常见消息中间件 ,Message Queue

[RabbitMQ]

    :Erlang编写的一个开源的消息队列,本身支持很多的协议,非常重量级,更适合于企业级的开发

[Redis]

    :基于Key-Value对的NoSQL数据库,开发维护很活跃,本身支持MQ功能,当做一个轻量级的队列服务来使用

[ZeroMQ]

    :号称最快的消息队列系统,尤其针对大吞吐量的需求场景

[ActiveMQ]

    :

[Kafka/Jafka]

    :高性能跨语言分布式发布/订阅消息队列系统,而Jafka是在Kafka之上孵化而来的