公司用的消息中间件是rabbit mq 并在此基础上进行了一些封装 故而进行研究一番。
官方文档学习基础知识
rabbit mq 运行在erlang环境之上,所以对应erlang支持的平台环境 rmq都支持
以下的平台是Erlang语言所支持的,因此RabbitMQ可以运行其上:
- Solaris
- BSD
- Linux
- MacOSX
- TRU64
- Windows NT/2000/XP/Vista/Windows 7/Windows 8
- Windows Server 2003/2008/2012
- Windows 95, 98
- VxWorks
总结:主要是说明erlang和rabbit mq的关系 类似jvm和java的关系吧;跨平台特性的实现。
基础概念:
AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。是一个基于TCP长连接的应用层协议。
消息代理(message brokers)从发布者(publishers)亦称生产者(producers)那儿接收消息,并根据既定的路由规则把接收到的消息发送给处理消息的消费者(consumers)。
由于AMQP是一个网络协议,所以这个过程中的发布者,消费者,消息代理 可以存在于不同的设备上。
AMQP 0-9-1的工作过程如下图:消息(message)被发布者(publisher&