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
Mensageria com Microsserviços Estendida
Search
Lucas Santos
June 24, 2019
Programming
150
0
Share
Mensageria com Microsserviços Estendida
Lucas Santos
June 24, 2019
More Decks by Lucas Santos
See All by Lucas Santos
The Hitchhiker's Guide for an Amazing API with TypeScript
khaosdoctor
0
120
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
210
The future of JavaScript
khaosdoctor
0
82
TypeScript tips that could save your life
khaosdoctor
0
240
É hora de falar sobre Deno
khaosdoctor
0
88
JS Software testing for beginners
khaosdoctor
0
98
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
53
The Dark Side of JavaScript
khaosdoctor
0
90
Integrating Containers Into JavaScript
khaosdoctor
0
81
Other Decks in Programming
See All in Programming
Road to RubyKaigi: Play Hard(ware)
makicamel
1
570
t *testing.T は どこからやってくるの?
otakakot
1
940
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
460
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
160
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
Firefoxにコントリビューションして得られた学び
ken7253
2
160
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
22k
AgentCore Optimizationを始めよう!
licux
3
240
From Formal Specification to Property Based Test
ohbarye
0
2.6k
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.6k
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
490
Are We Really Coding 10× Faster with AI?
kohzas
0
170
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Building the Perfect Custom Keyboard
takai
2
750
Paper Plane
katiecoart
PRO
1
50k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
740
Skip the Path - Find Your Career Trail
mkilby
1
120
A Soul's Torment
seathinner
6
2.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
The browser strikes back
jonoalderson
0
1k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
300
Into the Great Unknown - MozCon
thekraken
41
2.5k
Transcript
Mensageria com microsserviços
lead solutions architect_ /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor quem sou eu_
ReST Representational State Transfer_ - Request -> Response - Comunicação
um a um - HTTP - "Assíncrono"
a Internet usa ReST
mas ele não escala
None
Messaging Oriented Architecture (MoA)
história_
P Broker C
O broker_
Integração de sistemas
protocolos Sim, tem mais de um - MQTT - XMPP
- DDS - AMQP
MQTT Message Queue Telemetry Transport - Leve - Flexibilidade de
QoS - Escolhido como padrão para mensageria - Simples e fácil de implementar
MQTT Message Queue Telemetry Transport - Alto consumo de recursos
devido ao TCP - Falta de criptografia
XMPP Extensible Messaging and Presence Protocol - Possui schema de
endereçamento - Client-server
XMPP Extensible Messaging and Presence Protocol - Sem criptografia -
Não existe QoS
DDS Data Distribution Service - PubSub simples - Flexível e
adaptável - Auto-discovery - Não usa muitos recursos - Determinístico na entrega de mensagens - Escalável dinamicamente - Eficiente
AMQP Advanced Message Queueing Protocol - TCP ou UDP -
Criptografia ponta a ponta
AMQP Advanced Message Queueing Protocol - Usa mais recursos
mensageria - Mais leve - Mais rápido - Binário -
Eventos
messaging patterns_
None
Worker Queues_
Producer / Consumer_
P Q C C
RPC Remote Procedure Call_
Request / Reply_
P CB_Q C RPC_Q replyTo: CB_Q correlationId: xpto replyTo: CB_Q
correlationId: xpto correlationId: xpto
Publisher / Subscriber_
P FX Q 2 C2 C1 Q 1
Routing
P DX Q 2 C2 C1 Q 1 Verde Azul
Topics
Topics - daredevil.error.log - daredevil.info.log - daredevil.warn.log - daredevil.message -
heimdall.error.log - heimdall.info.log - heimdall.warn.log - heimdall.message
Topics - daredevil.error.log - daredevil.info.log - daredevil.warn.log - daredevil.message -
heimdall.error.log - heimdall.info.log - heimdall.warn.log - heimdall.message origem.severidade.tipo
P DX Q 2 C2 C1 Q 1 daredevil.# *.error.*
Q 3 C3 heimdall.info.#
Topics - daredevil.error.log - daredevil.info.log - daredevil.warn.log - daredevil.message -
heimdall.error.log - heimdall.info.log - heimdall.warn.log - heimdall.message Q1 Q2 Q3
referências_ - blog.codeship.com/microservices-messaging-rest-isnt-al ways-best-choice - rabbitmq.com/tutorials/tutorial-two-javascript.html - rabbitmq.com/tutorials/tutorial-three-javascript.html - rabbitmq.com/tutorials/tutorial-four-javascript.html
- rabbitmq.com/tutorials/tutorial-five-javascript.html - rabbitmq.com/tutorials/tutorial-six-javascript.html - enterpriseintegrationpatterns.com/patterns/messaging - concrete.com.br/2012/01/23/introducao-a-mensageria
referências_ - imasters.com.br/devsecops/mensageria-nao-e-um-bicho- de-7-cabecas - dzone.com/articles/which-are-the-iot-messaging-protoco ls
/khaosdoctor @_staticvoid lsantos.dev @khaosdoctor obrigado_