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
0
130
Mensageria com Microsserviços Estendida
Lucas Santos
June 24, 2019
Tweet
Share
More Decks by Lucas Santos
See All by Lucas Santos
The Hitchhiker's Guide for an Amazing API with TypeScript
khaosdoctor
0
86
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
190
The future of JavaScript
khaosdoctor
0
56
TypeScript tips that could save your life
khaosdoctor
0
180
É hora de falar sobre Deno
khaosdoctor
0
72
JS Software testing for beginners
khaosdoctor
0
73
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
39
The Dark Side of JavaScript
khaosdoctor
0
71
Integrating Containers Into JavaScript
khaosdoctor
0
63
Other Decks in Programming
See All in Programming
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
720
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
3
1.3k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
390
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
2.3k
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
590
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
260
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
XP, Testing and ninja testing
m_seki
3
220
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
250
WindowInsetsだってテストしたい
ryunen344
1
230
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Visualization
eitanlees
146
16k
Six Lessons from altMBA
skipperchong
28
3.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
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_