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
120
Mensageria com Microsserviços Estendida
Lucas Santos
June 24, 2019
Tweet
Share
More Decks by Lucas Santos
See All by Lucas Santos
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
150
The future of JavaScript
khaosdoctor
0
30
TypeScript tips that could save your life
khaosdoctor
0
90
É hora de falar sobre Deno
khaosdoctor
0
62
JS Software testing for beginners
khaosdoctor
0
35
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
31
The Dark Side of JavaScript
khaosdoctor
0
53
Integrating Containers Into JavaScript
khaosdoctor
0
40
Entendendo o ecossistema de containers
khaosdoctor
1
750
Other Decks in Programming
See All in Programming
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
940
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
2
870
雑に思考を整理する技術と効能
konifar
60
29k
Goのエラースタックトレースの歴史と今後
sonatard
9
1.5k
PHPはいつから死んでいるかの調査
chiroruxx
1
400
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
270
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
210
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
VS Code をプロダクトにどう取り込むか
onomax
1
370
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
325
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Designing with Data
zakiwarfel
96
4.8k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Code Review Best Practice
trishagee
55
15k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Automating Front-end Workflow
addyosmani
1356
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
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_