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
Acelerando Sistemas Distribuídos
Search
Fabio MA
October 19, 2013
Technology
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Acelerando Sistemas Distribuídos
@johalf @spiceee
Fabio MA
October 19, 2013
More Decks by Fabio MA
See All by Fabio MA
Ruby VM Method Caching
spiceee
2
130
Other Decks in Technology
See All in Technology
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
WasmをRustにする
sansantech
PRO
0
250
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
160
hackers_champloo_2026_tidb
makocchi
0
160
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Getting Started with Google Antigravity
glaforge
0
310
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
パッチ更新でterraform initが落ちた日
grimoh
1
140
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Designing Experiences People Love
moore
143
24k
Music & Morning Musume
bryan
48
7.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Designing for Performance
lara
612
70k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Transcript
Acelerando Sistemas Distribuídos
@johalf e @spiceee
None
onrails #
SOA
None
Sistema Distribuído
None
“Um sistema distribuído consiste em múltiplas aplicações autônomas que interagem
para atingir uma meta comum”
“Um sistema distribuído consiste em múltiplas aplicações autônomas que interagem
para atingir uma meta comum” Wolfgang Emmerich
None
“Afirmar que um sistema distribuído funciona com uma meta comum
num ambiente aberto como a Internet é algo difícil.”
“Afirmar que um sistema distribuído funciona com uma meta comum
num ambiente aberto como a Internet é algo difícil.” Roy Fielding
Por que sistema distribuído?
Prós
Desacoplamento
Desacoplamento de responsabilidade, de domínio, de arquitetura, de classes, de
código
Db não é API
Db não é API difícil manter contratos e regras de
negócio
Escalabilidade
Disponibilidade
Performance
Custo
Contras
Logs
Testes
Deploy
Granularidade
Versionamento
Segurança/Auth
ENV=development
Latência
Complexidade
Arquitetura distribuída do iba
None
Toolbox
None
None
None
None
+ Resque
None
None
None
None
“why so slow?”
“why so slow?” The Armin
None
custo do REST
Granularidade (again)
Filters, group-bys
Meta comum?
“Faster, faster, faster, now!”
“Faster, faster, faster, now!” The Armin
Cacheia tudo!
“Need more memcache!”
“Need more memcache!” The Armin
Varnish + ETag + fragment caching
Invalidação de cache = uma das coisas mais difíceis blah
blah
Difícil customizar por usuário
Rethink
None
API
API Eager loading de entidades que compoem uma unidade de
informação
API
O cliente escolhe o nível de detalhes que precisa API
Um passo para trás: unificar alguns serviços
Um passo para trás: unificar alguns serviços Analisamos serviços que
poderiam ser acoplados sem grande impacto à plataforma
Preconsume
Preconsume Colocar a informação numa camada de custo mais baixo
de obtenção
App Server
App Server Buscar um app server que se adaptasse melhor
ao nosso stack
CAB: Cache Against Boiada
separando o tipo de cache pelo tipo de usuário CAB:
Cache Against Boiada
“Venha me ler todinha no iba”
Um só framework
Mais de um framework num sistema distribuído requer mais manutenção
Um só framework
Eliminar concorrência entre Back-Office e User-facing
Eliminar concorrência entre Back-Office e User-facing o usuário querendo comprar
um livro não precisa sofrer com um processo de faturamento
Async?
Async? Começar a explorar non-blocking app stacks
None
“Ah! Joga tudo no Redis”
“Cache vai nos salvar”
O MongoDB é foda! Mas depois ele cobra a conta.
Modelagem errada
Conclusão
Perguntas?
Free Stuff
Obrigado!