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
Sistemas Distribuidos Escaláveis com Microserviços
Search
reinaldob
November 28, 2015
Technology
0
58
Sistemas Distribuidos Escaláveis com Microserviços
Sistemas Distribuidos Escaláveis com Microserviços
reinaldob
November 28, 2015
Tweet
Share
More Decks by reinaldob
See All by reinaldob
Devolta ao Monolito
reinaldob
0
64
Home Office
reinaldob
0
87
QCon SP 2013 - Legado Vale Ouro
reinaldob
0
58
Other Decks in Technology
See All in Technology
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
Cosmos World Foundation Model Platform for Physical AI
takmin
0
960
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
330
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
Agile Leadership Summit Keynote 2026
m_seki
1
660
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
配列に見る bash と zsh の違い
kazzpapa3
3
160
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
190
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
Code Review Best Practice
trishagee
74
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
What's in a price? How to price your products and services
michaelherold
247
13k
It's Worth the Effort
3n
188
29k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
4 Signs Your Business is Dying
shpigford
187
22k
How to build a perfect <img>
jonoalderson
1
4.9k
Transcript
Orquestração Database Sistemas Distribuídos Escaláveis com Microserviços HTTP Autenticação
@reinaldob • Programador na Spree Commerce Inc. • Empresa focada
em eCommerce • Equipe distribuída • 99% home office
None
Conceitos :)
O que são microserviços?
None
Quando eu deveria utilizá- lo?
Quando dá mais trabalho manter o sistema junto do que
ter ele separado.
Trabalho • Vários times mexendo no mesmo código • 1
app importante e estável send “deployada" junto com 1 app que muda frequentemente • API junto com APP, requisitos de segurança diferentes • etc…
Junto • Mesmo deploy • Mesmo codebase • Mesma equipe
Separado • Deploy separado • Codebase separado • Mesmo que
esteja na mesma máquina!
Como criar uma aplicação utilizando esse modelo arquitetural?
None
Don't Tell Me What To Do https://medium.com/@danielfilho
Sem bala de prata • Estudar o contexto • Perfil
da equipe de Dev • Equipe Devops • Conways law • Tamanho dos times • Melhores protocolos • A lista é grande…
Quem está usando hoje em dia?
TODO MUNDO!
• Netflix • SoundCloud • Amazon • eBay • …
Preciso utilizar?
NÃO
Wombat
Um pouco de história
Storefront Wombat Order Payment Shipment Fulfilment Replicate ready, complete, paid
ready, approved, rejected ready, delivered, completed completed, cancelled Order Payment Shipment Fulfilment ready, complete, paid ready, approved, rejected ready, delivered, completed completed, cancelled
Order pedido incluso pronto -> pago pago -> cancelado pago
-> completo Email de confirmação Contas a receber Email, Baixa do contas a receber Email, Baixa do estoque
Integrações • STOREFRONT INTEGRATIONS • BigCommerce • Magento • NuORDER
• Shopify • ACCOUNTING AND ERP • Abacos • Netsuite • Odoo • Quickbooks Desktop • Quickbooks Integration • Microsoft Dynamics • FULFILLMENT AND INVENTORY • Aftership • DotCom • Fifth Gear • Fosdick • MDS Fulfillment • COMMUNICATION AND CUSTOMER SERVICE • Amazon SES • Bronto • Desk.com • ExactTarget • MailChimp • Mandrill • DATA, ANALYTICS, AND CRM INTEGRATIONS • Amazon S3 • Highrise • Jirafe • MK Data Services • Salesforce • SugarCRM • POINT OF SALE (POS) • Square • Vend • AccuPOS • LightSpeed • Microsoft RMS
Contexto • Alto volume • Um engine complexo(que não pode
falhar) • MUITAS integrações
Push API Wombat Engine Integrations Storefront (client) HTTP SNS/SQS HTTP
SQS Push API Push API Wombat Engine Wombat Engine Integrations Integrations SQS
Push API • Sinatra • Redis • Controle de acesso
(throttle) • Docker
Wombat Engine • Rails • Redis • Shoryuken(SQS) • Mongo
• Controle de acesso (throttle) usando SQS • Docker
Integrations • Sinatra (stateless) • Docker, Heroku, Rackspace, Standalone, etc…
• Open Source
Comunicação
JSON
HTTP • HMAC Auth e Token Auth • Nada fancy,
simples POST
SQS • Assíncrono • Várias filas para cada processo •
Dividir o numero de mensagens por min, regulando o bottleneck por cliente • Visibility Timeout • https://github.com/phstc/shoryuken
Engine Listener Evento SQS O bjeto + Evento Objeto +
Evento Erro ou Throttle Persistência SQS REDIS Controle de Throttle Notificações SQS Delivery SQS Status Objeto + Evento
Ganhamos • Integrações Dinâmicas • Liberdade pra habilitar quantos nodes
precisar por integração, dependendo do nível de uso • Delegamos o trabalho pra AWS, menos devops • Garantia de falha e multi-AZ • Deploys separados \o/
Perdemos • Ambiente local é complexo de montar • Testes
complexos e demorados, nosso ambiente de CI é bem hackeado • Dependencia da AWS
Custo/Benefício
Dicas • http://putsreq.com • https://ngrok.com • Use ferramentas simples (cURL)
e formatos simples (JSON)
Obrigado :) Dúvidas?