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
Ilya Kaznacheev
September 26, 2022
Programming
0
93
Управляем состоянием распределенных систем без боли
Ilya Kaznacheev
September 26, 2022
Tweet
Share
More Decks by Ilya Kaznacheev
See All by Ilya Kaznacheev
Stateful Solutions: A Hands-On Guide to FSM in Golang
dreamworm
0
63
CQRS
dreamworm
0
32
Building a Cloud-Native PaaS
dreamworm
0
40
Distributed System State Management: When Transactions Are Long and SLA Is High
dreamworm
0
23
How To Create Saga-Free Distributed Transactions
dreamworm
0
43
Architectural decisions in building distributed systems
dreamworm
0
13
Распределенные транзакции без саг
dreamworm
0
100
Patterns of cloud scaling
dreamworm
0
42
CQRS в гостях и дома
dreamworm
0
40
Other Decks in Programming
See All in Programming
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
MIERUNE BBQにおけるユーザー中心設計()
mierune
PRO
1
110
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
英語
s_shimotori
1
220
Mastering Developer Experience: A Roadmap for Success 【開発生産性Conference 2024】
findyinc
1
380
CSC307 Lecture 08
javiergs
PRO
0
330
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
The Cult of Friendly URLs
andyhume
75
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Scaling GitHub
holman
458
140k
GraphQLとの向き合い方2022年版
quramy
36
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Atom: Resistance is Futile
akmur
261
25k
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