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
180
Управляем состоянием распределенных систем без боли
Ilya Kaznacheev
September 26, 2022
Tweet
Share
More Decks by Ilya Kaznacheev
See All by Ilya Kaznacheev
Many Layers of Availability
dreamworm
0
55
Stateful Solutions: A Hands-On Guide to FSM in Golang
dreamworm
0
150
CQRS
dreamworm
0
130
Building a Cloud-Native PaaS
dreamworm
0
120
Distributed System State Management: When Transactions Are Long and SLA Is High
dreamworm
0
100
How To Create Saga-Free Distributed Transactions
dreamworm
0
56
Architectural decisions in building distributed systems
dreamworm
0
19
Распределенные транзакции без саг
dreamworm
0
180
Patterns of cloud scaling
dreamworm
0
120
Other Decks in Programming
See All in Programming
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
860
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
680
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
140
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
220
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
480
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
730
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
150
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
330
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
2k
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
320
NIKKEI Tech Talk#38
cipepser
0
360
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Designing for Performance
lara
610
69k
Scaling GitHub
holman
463
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
RailsConf 2023
tenderlove
30
1.3k
Being A Developer After 40
akosma
91
590k
The Language of Interfaces
destraynor
162
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Become a Pro
speakerdeck
PRO
29
5.6k
How GitHub (no longer) Works
holman
315
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
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