RabbitMQ概览
RabbitMQ
是一个高机能的分布式音讯中间件。它由Erlang编写,这类言语天生支撑分布式,而且机能极高(然则比较难上手)。
通讯观点
RabbitMQ简朴明白就是一个行列效劳,我们的生产者不停地往它投递音讯,而消耗者不停地从它那边猎取音讯。但相较于应用redis
的List这类简朴行列,RabbitMQ的音讯投递更天真一点。起首须要晓得一些RabbitMQ中的通讯观点:
● exchange(交换器)
● queue(行列):音讯行列载体,每一个音讯都会被投入到一个或多个行列。
● binding(绑定):它的作用就是把exchange和queue依据路由划定规矩绑定起来。
● routing key(路由关键字):exchange依据这个关键字举行音讯投递。
● vhost(虚拟主机):差别的vhost下,数据完整断绝,默许vhost为“/”
● channel(信道):在一个tcp连接下,可竖立多个channel,每一个channel代表一个会话使命。
● producer(生产者)
● consumer(消耗者)
RabbitMQ中Exchange
类似于一个路由器,我们的consumer
并不会把音讯直接投递给行列,而是投递给exchange
,exchange
依据我们投递时的路由键(routing key)再发送到特定的行列。如许的设想让音讯能够天真选路,发送到某一类的行列中,构成一对多的关联,而不仅仅是一对一。
Exchange
所以说RabbitMQ中的exchange
很轻易,很壮大,它有如许几种范例:
● direct
● fanout
● topic
● headers(险些用不到)
direct
交换器很简朴,有时候我们仅仅须要一个很简朴的行列(音讯投递到个中,然后不停消耗它),这时候我们就能够用direct
交换器,它的划定规矩是:假如路由键婚配,音讯就会被投递到对应的行列。
fanout
交换器疏忽路由键,把音讯同时发到一批行列。
topic
则就是依据差别路由键,把音讯发送到某一类行列中。
相干视频教程引荐:《PHP教程》
以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!
以上就是什么是RabbitMQ?RabbitMQ的简朴引见的细致内容,更多请关注ki4网别的相干文章!