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
Управляем состоянием распределенных систем без ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ilya Kaznacheev
September 26, 2022
Programming
0
200
Управляем состоянием распределенных систем без боли
Ilya Kaznacheev
September 26, 2022
Tweet
Share
More Decks by Ilya Kaznacheev
See All by Ilya Kaznacheev
Many Layers of Availability
dreamworm
0
82
Stateful Solutions: A Hands-On Guide to FSM in Golang
dreamworm
0
190
CQRS
dreamworm
0
160
Building a Cloud-Native PaaS
dreamworm
0
140
Distributed System State Management: When Transactions Are Long and SLA Is High
dreamworm
0
120
How To Create Saga-Free Distributed Transactions
dreamworm
0
69
Architectural decisions in building distributed systems
dreamworm
0
32
Распределенные транзакции без саг
dreamworm
0
200
Patterns of cloud scaling
dreamworm
0
140
Other Decks in Programming
See All in Programming
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
CSC307 Lecture 15
javiergs
PRO
0
260
The free-lunch guide to idea circularity
hollycummins
0
340
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
390
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
150
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
160
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
400
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1.1k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
420
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
170
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
370
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
610
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Context Engineering - Making Every Token Count
addyosmani
9
770
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
The Cult of Friendly URLs
andyhume
79
6.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
590
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
210
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
[SF Ruby Conf 2025] Rails X
palkan
2
850
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
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