RabbitMQ介绍
RabbitMQ核心概念
生产者:产生数据发送消息的程序是生产者 交换机:一方面接收来自生产者的消息,另一方面将消息推送到队列中。 队列:消息缓冲区。 消费者:等待接收消息的程序。
RabbitMQ六种工作模式
Hello World模式(Hello World): 工作模式(Work Queues): 发布订阅模式(Publish/Subscribe): 路由模式(Routing): 主题模式(Topics): 发布确认模式(Publisher Confirms):
名词介绍
RabbitMQ工作原理: Broker:接收和分发消息的应用,RabbitMQ Server(Rabbit的服务器)就是Message Broker。 Virtual host:当多个不同的用户使用同一个RabbitMQ Server提供服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange/queue等 Exchange:message到达broker的第一站,根据分发原则,匹配查询表中的routing key,分发消息到queue中去。常用的类型有:direct(point-to- point)–直接交换模式,topic(publish-subscribe)主题模式和fanout(multicast)–广播模式 Queue:消息最终被送到这里等待consumer取走 Binding:exchange和queue之间的虚拟连接,binding中可以包含routing key,Binding信息被保存到exchange中的查询表中,用于message的分发依据。 Connection:publisher/consume和broker之间的TCP连接 Channel:如果每一次访问RabbitMQ都建立一个connection,在消息量大的时候建立TCP 连接的开销将是巨大的,效率也较低。Channel是在connection内部建立的逻辑连接,如果应用程序支持多线程,通常每个线程创建单独的channel进行通讯,AMQP method包含了chaneel id帮助客户端和message broker识别channel,所以channel之间是完全隔离的。Channel作为轻量级的Connection极大减少了操作系统建立TCP connection的开销。 Producer:生产者 Consumer:消费者
安装
官网下载 https://www.rabbitmq.com/download.html
Hello World
Work Queues
|