Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Sistemas Distribuidos Escaláveis com Microserviços
Search
reinaldob
November 28, 2015
Technology
60
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Sistemas Distribuidos Escaláveis com Microserviços
Sistemas Distribuidos Escaláveis com Microserviços
reinaldob
November 28, 2015
More Decks by reinaldob
See All by reinaldob
Devolta ao Monolito
reinaldob
0
66
Home Office
reinaldob
0
91
QCon SP 2013 - Legado Vale Ouro
reinaldob
0
64
Other Decks in Technology
See All in Technology
Rust で関数型ドメインモデリング
takonda
0
140
継続的なAIコスト最適化
bgpat
1
350
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
250
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
260
Browser Spec: Testing Hotwire with Ruby
takahashim
1
130
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
560
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
How to Design Configuration for Rails Applications
willnet
1
820
会社説明資料
persolserverworks
0
9.8k
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
190
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
BBQ
matthewcrist
90
10k
ラッコキーワード サービス紹介資料
rakko
1
5.4M
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Building Adaptive Systems
keathley
44
3.2k
The Curse of the Amulet
leimatthew05
3
16k
エンジニアに許された特別な時間の終わり
watany
109
250k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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?