重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍RabbitMQ是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
站在用户的角度思考问题,与客户深入沟通,找到仙桃网站设计与仙桃网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、主机域名、雅安服务器托管、企业邮箱。业务覆盖仙桃地区。
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
则就是根据不同路由键,把消息发送到某一类队列中。
以上是RabbitMQ是什么的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!