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
Domesticando dragoes com soluções escaláveis
Search
abstractj
February 02, 2012
Programming
83
1
Share
Domesticando dragoes com soluções escaláveis
abstractj
February 02, 2012
More Decks by abstractj
See All by abstractj
When Java meets Ruby
abstractj
1
230
TorqueBox - Ultrapassando a fronteira entre Java e Ruby
abstractj
2
86
Torquebox - O melhor dos dois mundos
abstractj
2
85
Desenvolvimento Indolor com JQuery Mobile
abstractj
2
81
Paradigmas de programação funcional + objetos no liquidificador com scala
abstractj
3
110
J2ME Myth Busters
abstractj
1
82
Other Decks in Programming
See All in Programming
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
8
4.4k
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
120
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
140
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
140
ロボットのための工場に灯りは要らない
watany
12
3.3k
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
200
20260320登壇資料
pharct
0
160
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
180
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
The free-lunch guide to idea circularity
hollycummins
0
410
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
The Curious Case for Waylosing
cassininazir
0
290
Building Adaptive Systems
keathley
44
3k
Building Applications with DynamoDB
mza
96
7k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Test your architecture with Archunit
thirion
1
2.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Transcript
Domesticando Dragões com soluções escaláveis @abstractj @qmx Monday, September 13,
2010
O cliente pediu um sistema Monday, September 13, 2010
Envio de SMS pela intranet + aplicacao web pra ver
detalhes da mensagem Monday, September 13, 2010
A cláusula “O sistema deve fazer tudo” Caso de uso,
2004 Monday, September 13, 2010
Teu chefe Monday, September 13, 2010
Fácil! Monday, September 13, 2010
Negócio fechado Monday, September 13, 2010
SEU EMO!!!! Monday, September 13, 2010
Sistema em piloto 10.000 tx/h = quase 3 tx/s Monday,
September 13, 2010
Bonito e Performático Monday, September 13, 2010
Cliente satisfeito Monday, September 13, 2010
A volta dos que não foram Monday, September 13, 2010
A cláusula “O sistema deve fazer tudo” Caso de uso,
2004 Monday, September 13, 2010
“Integraçãozinha” Monday, September 13, 2010
O legado Monday, September 13, 2010
Moleza! Monday, September 13, 2010
Legado = Mainframe Monday, September 13, 2010
Ouch! Monday, September 13, 2010
Mainframe Monday, September 13, 2010
Não gosta dos seus dados Monday, September 13, 2010
Não quer trabalhar pra você Monday, September 13, 2010
Não espera, você espera Monday, September 13, 2010
te odeia Monday, September 13, 2010
Mainframe não escala Monday, September 13, 2010
Mainframe não escala? Monday, September 13, 2010
Motivos técnicos Monday, September 13, 2010
FUUUUUU Monday, September 13, 2010
#medo? Monday, September 13, 2010
Ainda bem Monday, September 13, 2010
Sobrou! Monday, September 13, 2010
Flat files? Monday, September 13, 2010
batchizando? Monday, September 13, 2010
Filas de Mensageria! Monday, September 13, 2010
Problema resolvido! 3 tx/s Monday, September 13, 2010
A cláusula “O sistema deve fazer tudo” Caso de uso,
2004 Monday, September 13, 2010
Projeto piloto 3 tx/s = Bom Monday, September 13, 2010
Realidade: 1.5M tx/dia = 17tx/s Monday, September 13, 2010
Estamos devendo: ± 1.25M tx Monday, September 13, 2010
"Compra de R$ 5000,00 realizada com sucesso em 10/09/2010 03:56"
12/09/2010 15:30 Monday, September 13, 2010
Murphy: se você corria risco de fraude, ela aconteceu com
certeza Monday, September 13, 2010
Realidade? Monday, September 13, 2010
Pico de 200tx/s na hora do almoço Monday, September 13,
2010
E agora? Monday, September 13, 2010
Onde foi que eu errei? Monday, September 13, 2010
Você é culpado Monday, September 13, 2010
Na média, o ser humano tem uma bola Monday, September
13, 2010
Você perguntou pro seu cliente quais eram os horários de
pico?! Monday, September 13, 2010
Sua obrigação era medir!!! Monday, September 13, 2010
Sua aplicação escala?! Monday, September 13, 2010
Você vai até onde na vertical?! Monday, September 13, 2010
E na horizontal?! Monday, September 13, 2010
Você não está esquecendo de nada? Monday, September 13, 2010
Visualizar os detalhes da mensagem Monday, September 13, 2010
Ruby é lento? Monday, September 13, 2010
A culpa é de quem? Monday, September 13, 2010
Banco de dados? Monday, September 13, 2010
Massa de dados grande Monday, September 13, 2010
1.500.000 x 30 dias Monday, September 13, 2010
Em um mês 45 milhões de registros Monday, September 13,
2010
preciso guardar tudo isso? Monday, September 13, 2010
relacional pra quê? Monday, September 13, 2010
Cache? Monday, September 13, 2010
#fail Monday, September 13, 2010
Cache persistente? Monday, September 13, 2010
Redis key-value store on steroids Monday, September 13, 2010
O melhor dos dois mundos Monday, September 13, 2010
Dados bem guardados com SQL e com NoSQL Monday, September
13, 2010
Pesquisa direta no “banco de dados” 20tx/s Monday, September 13,
2010
Pesquisa passando pelo Redis: 200 tx/s Monday, September 13, 2010
Seus problemas acabaram! Monday, September 13, 2010
Obrigado! Monday, September 13, 2010