Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Microservices e RabbitMQ
Search
Leandro Lugaresi
May 20, 2016
Programming
0
94
Microservices e RabbitMQ
Leandro Lugaresi
May 20, 2016
Tweet
Share
More Decks by Leandro Lugaresi
See All by Leandro Lugaresi
Pipelines em Go
leandrolugaresi
0
460
Introdução a gRPC
leandrolugaresi
0
670
Other Decks in Programming
See All in Programming
Build your own WebP codec in Swift
kishikawakatsumi
2
810
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
920
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
610
Introducing FrankenPHP gRPC
dunglas
2
1.1k
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
200
私はどうやって技術力を上げたのか
yusukebe
35
16k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
300
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
110
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.3k
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
1
470
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.1k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Building Applications with DynamoDB
mza
96
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Designing for Performance
lara
610
69k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Producing Creativity
orderedlist
PRO
347
40k
Done Done
chrislema
185
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Transcript
Microservices e RabbitMQ Messages, messages everywhere!
Quem sou eu? > Desenvolvedor na Coderockr > github.com/leandro-lugaresi >
@leandrolugaresi > leandrolugaresi.com.br
Monolitos vs Microservices
None
Monolitos são ...
Simples para desenvolver
Simples para testar
Simples para implantar
Evolui rapidamente
Porém... Eles crescem!
None
> Maior risco de falhas > Deploy de toda a
aplicação para pequenas alterações > Dificuldades para realizar mudanças > Updates menos frequentes Resultando em:
None
E os microservices?
Provêm vários benefícios, mas vêm com custos
↑ Módulos bem separados
↑ Deploy independente
↑ Liberdade para escolher tecnologias
↓Aumento da complexidade
↓Atomic Transactions
↓Persistência eventual
↓Sistemas distribuídos
Onde o RabbitMQ entra nessa história?
Os serviços precisam se comunicar
Requests RPC || REST
None
Message-Driven RabbitMQ, HornetQ, Apache Kafka, ZeroMQ
None
None
> Open Source com suporte comercial > Robusto, feito em
Erlang usando OTP > Protocolos: AMQP, STOMP, MQTT > Sistema de plugins > Fácil de instalar, usar e monitorar > Clients para muitas linguagens
None
Default Exchange
Direct Exchange
Fanout Exchange
Topic Exchange
Headers Exchange
Queues > Nome > Durável ou temporária > Exclusiva >
Auto-delete > Argumentos (message TTL)
E as mensagens?
Uma mensagem pode conter um evento codificado como seu corpo
None
Dicas
Utilize UUID
Utilize correlation IDS
Cuidado, Mensagens podem ser duplicadas!
Monitore as queues
Somente salve mensagens em disco se for realmente necessário
Agrupe exchanges por objetivos
None
None
Dúvidas?
Referências > http://www.reactivemanifesto.org/ > http://martinfowler.com/articles/microservices.html > http://blogs.vmware.com/vfabric/2013/01/messaging- architecture-using-rabbitmq-at-the-worlds-8th-largest- retailer.html >
https://www.nginx.com/blog/event-driven-data- management-microservices/ > https://www.rabbitmq.com/