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
490
Introdução a gRPC
leandrolugaresi
0
690
Other Decks in Programming
See All in Programming
ゲームの物理 剛体編
fadis
0
380
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
190
SwiftUIで本格音ゲー実装してみた
hypebeans
0
510
Navigating Dependency Injection with Metro
l2hyunwoo
1
190
AIコーディングエージェント(Gemini)
kondai24
0
290
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
190
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
140
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
190
Patterns of Patterns
denyspoltorak
0
380
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
900
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
100
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
41k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
320
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
130
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
170
Become a Pro
speakerdeck
PRO
31
5.7k
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/