RabbitMQ 是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器。
一、应用场景
异步处理
应用解耦
流量消峰
日志收集
二、支持多种语言
比如Js广告收集,大量的广告收集 会用到消息队列
消息中间件--》流实时计算
消息中间件--》离线计算
三、java操作rabbitmq
1 simple 简单队列
2 work queues 工作队列、公平分发、轮询分发
3 publish/subscribe 发布订阅
4 routing 路由选择 通配符模式
5 topics 主题
6 手动和自动确认消息
7 队列的持久化和非持久化
8 rabbitmq 的延迟队列 场景 :未支付订单30分钟取消
百度统计 cnzz架构
rabbitmq AMQP协议
添加用户
创建库 以/开头
virtual host
对用户授权
控制台 overview
Protocol | Node | Bound to | Port |
---|---|---|---|
amqp | rabbit1@mqnode1 | :: | 30007 |
amqp | rabbit2@mqnode2 | :: | 30007 |
amqp | rabbit3@mqnode3 | :: | 30007 |
clustering | rabbit1@mqnode1 | :: | 50001 |
clustering | rabbit2@mqnode2 | :: | 50001 |
clustering | rabbit3@mqnode3 | :: | 50001 |
http | rabbit1@mqnode1 | :: | 30008 |
http | rabbit2@mqnode2 | :: | 30008 |
http | rabbit3@mqnode3 | :: | 30008 |
amqp 开发所有接口,qmqp协议
clustering 集群端口
http http访问端口
connections 当前有哪些连接
chaannels 当前有那些频道
exchanges 交换机
队列
简单队列