RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台(OTP)框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
Erlang(爱浪)特点:
- 并发性:Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制;
- 分布式:一个分布式Erlang系统是多个Erlang节点组成的网络;
- 健壮性:Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统;
- 可伸缩性;
教程:RabbitMQ实战指南.pdf
消息丢失
如果应用系统对可靠性要求很高,吞吐量不是很care,那么可以从以下几个方面入手:
1、交换器、队列、消息持久化;
2、消费者设置autoAck=false,手动确认;
3、RabbitM