amqp golang maxqbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017...

22
1/22 基于amqp实现的golang消息队列MaxQ golang 7/1/2017 amqp MaxQ 2017-07-01 http://192.168.10.11:3999/maxq.slide#1

Upload: others

Post on 24-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

1/22

基于amqp实现的golang消息队列MaxQ

golang

7/1/2017

amqp MaxQ 2017-07-01 http://192.168.10.11:3999/maxq.slide#1

Page 2: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

2/22

7/1/2017

1.

2. IPC

3. AMQP

4. MaxQ

5. MaxQ

6. http://192.168.10.11:3999/maxq.slide#1

Page 3: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

3/22

7/1/2017

1. http://192.168.10.11:3999/maxq.slide#1

Page 4: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

7/1/2017 基于amqp实现的golang消息队列MaxQ

http://192.168.10.11:3999/maxq.slide#1 4/22

Pull/Push

Page 5: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

5/22

7/1/2017

2. IPC http://192.168.10.11:3999/maxq.slide#1

Page 6: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

http://192.168.10.11:3999/maxq.slide#1 6/22

7/1/2017 基于amqp实现的golang消息队列MaxQ

3. AMQP(Advanced Message Queuing Protocol)

Page 7: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

7/1/2017 基于amqp实现的golang消息队列MaxQ

http://192.168.10.11:3999/maxq.slide#1 7/22

Broker Connection Channel Virtual host Exchange Queue Binding

Page 8: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

8/22

基于amqp实现的golang消息队列MaxQ

frame encode/decode

7/1/2017

4. MaxQ - AMQP spec Exchange

Queue http://192.168.10.11:3999/maxq.slide#1

——MaxQ

Page 9: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

9/22

7/1/2017

MaxQ - http://192.168.10.11:3999/maxq.slide#1

Page 10: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

10/22

7/1/2017

5. MaxQ 1.

2.

3.

4. http://192.168.10.11:3999/maxq.slide#1

Page 11: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

11/22

7/1/2017

1) Publishing -> Con rm

2) Routing -> Publish mandatory

3) Consuming

4) Persisting

5) http://192.168.10.11:3999/maxq.slide#1

-> Ack

-> RAID1

-> Slave Queue

Page 12: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

12/22

7/1/2017

zookeeper zookeeper http://192.168.10.11:3999/maxq.slide#1

Page 13: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ 7/1/2017

http://192.168.10.11:3999/maxq.slide#1 13/22

Page 14: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ 7/1/2017

http://192.168.10.11:3999/maxq.slide#1 14/22

Page 15: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

7/1/2017 基于amqp实现的golang消息队列MaxQ

15/22

HA Exchange Queue

, x-message-ttl x-expires x-max- Exchange Binding Queue

length x-dead-letter-exchange http://192.168.10.11:3999/maxq.slide#1

Page 16: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

http://192.168.10.11:3999/maxq.slide#1 16/22

7/1/2017

goroutine + channel + consumer

- goroutine

- goroutine

- Half-Open

Page 17: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

17/22

7/1/2017

6. 1.

2. http://192.168.10.11:3999/maxq.slide#1

MaxQ

,

Page 18: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

7/1/2017 基于amqp实现的golang消息队列MaxQ

18/22

SQL-autoreview http://192.168.10.11:3999/maxq.slide#1

SQL DB

MaxQ

Page 19: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

19/22

MaxQ

7/1/2017

DC

1.DRC DC

2. http://192.168.10.11:3999/maxq.slide#1

Page 20: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

http://192.168.10.11:3999/maxq.slide#1 20/22

7/1/2017

Q/A 1.

2. RabbitMQ

AMQP

3. RabbitMQ

Page 21: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ

21/22

7/1/2017

Thank you http://192.168.10.11:3999/maxq.slide#1

Page 22: amqp golang MaxQbos.itdks.com/a0cbe02fa135412584b7ea499270f5cd.pdf · 7/1/2017 基于amqp实现的golang消息队列MaxQ 15/22 HA Exchange Queue Exchange Binding Queue , x-message-ttl

基于amqp实现的golang消息队列MaxQ 7/1/2017

http://192.168.10.11:3999/maxq.slide#1 22/22