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
Управляем состоянием распределенных систем без ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ilya Kaznacheev
September 26, 2022
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Управляем состоянием распределенных систем без боли
Ilya Kaznacheev
September 26, 2022
More Decks by Ilya Kaznacheev
See All by Ilya Kaznacheev
Road to four nines
dreamworm
0
45
Many Layers of Availability
dreamworm
0
120
Stateful Solutions: A Hands-On Guide to FSM in Golang
dreamworm
0
220
CQRS
dreamworm
0
200
Building a Cloud-Native PaaS
dreamworm
0
180
Distributed System State Management: When Transactions Are Long and SLA Is High
dreamworm
0
170
How To Create Saga-Free Distributed Transactions
dreamworm
0
94
Architectural decisions in building distributed systems
dreamworm
0
50
Распределенные транзакции без саг
dreamworm
0
220
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
260
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
220
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
1k
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
460
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
130
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
400
スマート反転とウェブアクセシビリティ
camiha
0
210
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.1k
一人だけ、Kiroが静止する日
hideg
0
110
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
620
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
520
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Building AI with AI
inesmontani
PRO
1
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Transcript
Управляем состоянием распределенных систем без боли Илья Казначеев
Илья Казначеев Tech Lead @ MTS Cloud Consulting Cloud Architect,
Основатель Golang Voronezh GDE on Cloud, GCP PCA, к.т.н. 2
как управлять распределенным состоянием? 3
как управлять распределенным состоянием? как построить K8s-as-a-Service? 4
roadmap 5 5
Чего мы хотели • SLA 99,99% (доступность + операции над
кластером) • быстрая реакция на инциденты • быстрая доставка новых фич • атомарность и консистентность в распределенных операциях • читабельный и поддерживаемый код 6
7
8
9
10
11
12
roadmap 13 13
roadmap 14 14
Domain Driven Design 15
16
17
18
roadmap 19 19
roadmap 20 20
21
22
23
24
Finite State Machine 25
26
27
28
29
30
31
32
33
34
35
36
roadmap 37 37
roadmap 38 38
обработка событий в рамках домена 39
40
41
42
43
44
45
46
обработка ошибки 47
48
49
50
roadmap 51 51
roadmap 52 52
обработка событий между доменами 53
54
55
56
57
58
59
60
61
roadmap 62 62
roadmap 63 63
распределенные транзакции 64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
roadmap 82 82
roadmap 83 83
CQRS 84
85
86
87
88
89
90
91
92
roadmap 93 93
roadmap 94 94
консистентность данных 95
96
97
98
outbox pattern 99
100
101
roadmap 102 102
roadmap 103 103
observability 104
105
106
roadmap 107 107
roadmap 108 108
Итоги • процессы отказоустойчивые • данные консистентные • выполнили SLA
109
Итоги • код читабельный • сложная логика понятна • процесс
целиком виден в коде • фичи добавлять быстро • тесты писать несложно 110
Итоги • скорость локализации ошибок сократилась на 1-2 порядка (до
минут) • отладка упростилась • обработка заявок ускорилась • разработчики довольны • тестировщики довольны • клиенты довольны 111
спасибо 112
Илья Казначеев
[email protected]
www.kaznacheev.me t.me/cloud_flight t.me/kaznacheev_feed 113