Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Microservices e RabbitMQ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Leandro Lugaresi
May 20, 2016
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Microservices e RabbitMQ
Leandro Lugaresi
May 20, 2016
More Decks by Leandro Lugaresi
See All by Leandro Lugaresi
Pipelines em Go
leandrolugaresi
0
550
Introdução a gRPC
leandrolugaresi
0
750
Other Decks in Programming
See All in Programming
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
130
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
170
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
330
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.6k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
310
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
130
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
160
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
320
dotNET_vulnclicker_intro.pdf
deka_morita
0
160
JIS keyboard support in Omarchy
lef237
0
180
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.2k
Featured
See All Featured
BBQ
matthewcrist
90
10k
Exploring anti-patterns in Rails
aemeredith
4
550
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
450
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
510
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
My Coaching Mixtape
mlcsv
0
370
Raft: Consensus for Rubyists
vanstee
143
7.8k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
470
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
The Curse of the Amulet
leimatthew05
3
16k
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/