(This presentation made with Landslide.)


Integration of internal and external systems
Financial and supply-chain data
Order fulfillment process
Inventory
Decoupling systems
Developer happiness
Data integrity
Decoupling systems
Data integrity
Message durability and routing
Copious language bindings
Clustering and high availibity support
Flexible messaging patterns
Data integrity
Developer happiness
Writes 10 messages to the example exchange
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | connection, _ := amqp.Dial(amqpURI)
channel, _ := connection.Channel()
for i := 0; i < 10; i++ {
channel.Publish(
"example", //exchange
"hello.world", //routingKey
false,
false,
amqp.Publishing{
Headers: amqp.Table{},
ContentType: "text/plain",
ContentEncoding: "UTF-8",
Body: []byte("Hi"),
DeliveryMode: amqp.Transient,
Priority: 0,
},
)
}
|
Reads from the example_queue forever
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | c.conn, _ = amqp.Dial(amqpURI)
c.channel, _ = c.conn.Channel()
deliveries, _ := c.channel.Consume(
"example_queue", //queue
c.tag,
false,
false,
false,
false,
nil)
for d := range deliveries {
log.Printf("got %s", d.Body)
}
|
Decoupling systems
Data integrity

RabbitMQ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ,_ ,_ (\/) _, _,
| '. '. \/ .' .' |
\ \ \ / / /
'.__\_|_ _|_/__.'
/` '. .' `\
/ ^ ) ( ^ \
/ __.' '.__ \
.' (_ _) '.
.' \'-._ _.-'/ '.
/ '.__)(__.' \
; .-. '. .' .-. ;
/`| / '._)(_.' \ |`\
| \ /--. .--\ / |
'--'\ '-.__) (__.-' /'--'
jgs )_____) (______(
|
| Go & RabbitMQ | 1 |
|---|---|
| What we do | 2 |
| What we own | 3 |
| What we care about | 4 |
| Why messaging queues | 5 |
| Why RabbitMQ | 6 |
| Why Go | 7 |
| Producer | 8 |
| Consumer | 9 |
| Why our architecture | 10 |
| Architecture | 11 |
| References | 12 |
| Bunnies | 13 |
| Table of Contents | t |
|---|---|
| Exposé | ESC |
| Full screen slides | e |
| Presenter View | p |
| Source Files | s |
| Slide Numbers | n |
| Toggle screen blanking | b |
| Show/hide slide context | c |
| Notes | 2 |
| Help | h |