RabbitMQ
简介
-
实现了AMQP(高级队列协议)
-
Erlang是面向并发的编程语言,充分利用了CPU的性能,延迟特别低
-
支持多种语言通讯:Java,Python...都有相应的API
-
支持海量的插件
安装
- vi docker-compose.yml
- 把rabbitmq的配置写入文件
- vi docker-compose up -d
- curl localhost:5672
图形化页面启动
- sbin目录下执行 ./rabbitmq-plugins enable rabbitmq_management
- 访问15672端口:默认用户名密码 guest
架构:(TODO-图片)
- Publisher
- Consumer
- virtual host ,默认为“/”
- Exchange
- Queue
Publisher与virtual host建立连接,Publisher创建Channel,
通过Channel发送到virtual host的某一个Exchange上.
Exchange通过路由规则发送到某一个或多个Queue中.
Consumer一样,与virtual host建立连接,创建Channel,从队列中消费消息
通讯方式
RabbitMQ提供的7种通讯方式
- "Hello World!" 为了入门操作
- Work Queues 一个消息被多个消费者消费
- Publish/Subscribe 手动创建交换机 (FANOUT)
- Routing 手动创建交换机 (DIRECT)
- Topics 手动创建交换机 (TOPIC)
- RPC RPC方式
- Publisher Confirms 保证消息可靠性
构建Connection工具类
-
导入依赖:amqp-client
-
构建工具类
//工具类代码 TODO
HelloWorld代码
- 生产者
- 消费者