快捷搜索:  汽车  科技

消息队列的使用场景及优缺点,详细消息队列--概念

消息队列的使用场景及优缺点,详细消息队列--概念2.3 Consumer消息生产者,业务的发起方,负责生产消息传输给broker,2.1 Broker消息服务器,作为server提供消息核心服务2.2 Producer

概述

很多朋友总是问到消息队列方面的内容,所以今天补充介绍一下消息中间件的一些概念、中间件模式分类及主流消息中间件的比较。


消息中间件相关概念

1、概述

消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。

2、消息中间件的组成

2.1 Broker

消息服务器,作为server提供消息核心服务

2.2 Producer

消息生产者,业务的发起方,负责生产消息传输给broker,

2.3 Consumer

消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理

2.4 Topic

主题,发布订阅模式下的消息统一汇集地,不同生产者向topic发送消息,由MQ服务器分发到不同的订阅者,实现消息的 广播

说明:

消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。

消息被消费以后,queue中不再存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。

2、发布/订阅

Pub/Sub发布订阅(广播):使用topic作为通信载体

消息队列的使用场景及优缺点,详细消息队列--概念(1)

说明:

消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。

queue实现了负载均衡,将producer生产的消息发送到消息队列中,由多个消费者消费。但一个消息只能被一个消费者接受,当没有消费者可用时,这个消息会被保存直到有一个可用的消费者。

topic实现了发布和订阅,当你发布一个消息,所有订阅这个topic的服务都能得到这个消息,所以从1到N个订阅者都能得到一个消息的拷贝。


主流消息中间件的比较

消息队列的使用场景及优缺点,详细消息队列--概念(2)

这里综合选择RabbitMq


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

消息队列的使用场景及优缺点,详细消息队列--概念(3)

猜您喜欢: