2.详细了解rabbitMQ
一、RabbitMQ
rabbitmq是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,比如我们可以把一个用java开发的应用和一个其他语言的应用之间交互信息
二、哪些公司在用,为什么?
滴滴、美团、头条等等都在使用。
- 开源、性能优秀、稳定性保障,提可靠的消息投递模式、返回模式
- 与SpringAMQP完美整合,API丰富
- 集群模式丰富,表达式配置,HA模式,镜像队列模式
- 保证数据不丢失做到高可靠性、可用性
三、RabbitMQ高性能的原因
因为是Erlang语言编写的,Erlang是一种函数式语言,使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。使用 Erlang来编写分布式应用比其它语言简单许多,因为它的分布式机制是透明的,即对于程序而言并不知道自己是在分布式运行。Erlang运行环境是一个 虚拟机,有点类似于Java虚拟机,代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果需要更高效的话,字节 代码也可以编译成本地代码运行。
目的是创造一种可以应对大规模并发活动的编程语言和运行环境
Erlang语言最初在于交换机领域的架构模式,这样使得RabbitMQ在Broker之间进行数据交互的性能非常优秀