2019-08-12

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

2019-08-12_第1张图片
2019-8-12   晴转多云   今天学到新的消息队列知识  很开森

             RabbitMQ 历史

Rabbit科技有限公司开发了RabbitMQ,并提供对其的支持。起初,Rabbit科技是LSHIFT和CohesiveFT在2007年成立的合资企业,2010年4月被VMware旗下的SpringSource收购。RabbitMQ在2013年5月成为GoPivotal的一部分。




基本概念


RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。



主要特性

可伸缩性:集群服务

消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存




 在绑定(Binding)Exchange和Queue的同时,一般会指定一个Binding

Key,生产者将消息发送给Exchange的时候,一般会产生一个Routing Key,当Routing Key和Binding

Key对应上的时候,消息就会发送到对应的Queue中去。那么Exchange有四种类型,不同的类型有着不同的策略。也就是表明不同的类型将决定绑定的Queue不同,换言之就是说生产者发送了一个消息,Routing

Key的规则是A,那么生产者会将Routing

Key=A的消息推送到Exchange中,这时候Exchange中会有自己的规则,对应的规则去筛选生产者发来的消息,如果能够对应上Exchange的内部规则就将消息推送到对应的Queue中去。那么接下来就来详细讲解下Exchange里面类型。

你可能感兴趣的:(2019-08-12)