基于amqp实现的golang消息队列MaxQ.pdf
7/1/2017 基于amqp实现的golang消息队列MaxQ
基于amqp实现的golang消息队列
MaxQ
2017-07-01
张培培
饿了么 -基础框架组
1:3999/maxq.slide#1 1/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
内容
1. 队列
2. IPC消息队列
3. AMQP协议
4. MaxQ架构模型
5. MaxQ相关特性
6. 使用场景和案例
1:3999/maxq.slide#1 2/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
1. 队列
跟消息队列相比,有哪些共性?
1:3999/maxq.slide#1 3/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
生产者消费者
通信方式
存储方式
堆积能力
消息可靠性
生产消费关系
Pull/Push
1:3999/maxq.slide#1 4/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
2. IPC消息队列
跟消息队列相比,有哪些共性?
1:3999/maxq.slide#1 5/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
3. AMQP(Advanced Message Queuing Protocol)协议
1:3999/maxq.slide#1 6/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
一些基本概念
Broker
Connection
Channel
Virtual host
Exchange
Queue
Binding
1:3999/maxq.slide#1 7/22
7/1/2017 基于amqp实现的golang消息队列MaxQ
4. MaxQ - AMQP实现架构
按照协议spec自动生成frame encode/decode
Exchange接口化
Queue接口化——Ma