一.RabbitMQ 什么语言编写的?
我们这边为什么要重点说这个能,就是因为他的编写语言,才让他能在MQ这个大家庭里脱颖而出。
rabbitmq是Erlang编程语言编写的:
Erlang编程语言最初目的是进行大型电信交换设备的软件开发,是一种适用于大规模并行处理环境的高可靠性编程语言。随着多核处理器技术的日渐普及,以及互联网、云计算等技术的发展,该语言的应用范围也有逐渐扩大之势。所以RabbitMQ 天生高性能高并发
二.RabbitMQ 遵循AMQP协议
为什么要重点说RabbitMQ 遵循AMQP协议呢,我们来说说AMQP
在异步通讯中,消息不会立刻到达接收方,而是被存放到一个容器中,当满足一定的条件之后,消息会被容器发送给接收方,这个容器即消息队列,而完成这个功能需要双方和容器以及其中的各个组件遵守统一的约定和规则,AMQP就是这样的一种协议,消息发送与接受的双方遵守这个协议可以实现异步通讯。这个协议约定了消息的格式和工作方式,这样可以避免了生产者占用太多信道,避免导致服务雪崩效应
三.RabbitMQ各个关键配置说明
Server(Broker):接收客户端连接,实现AMQP协议的消息队列和路由功能的进程;
Virtual Host:虚拟主机的概念,类似权限控制组,一个Virtual Host里可以有多个Exchange和Queue。
Exchange:交换机,接收生产者发送的消息,并根据Routing Key将消息路由到服务器中的队列Queue。
Exch