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
200
0
Share
Управляем состоянием распределенных систем без боли
Ilya Kaznacheev
September 26, 2022
More Decks by Ilya Kaznacheev
See All by Ilya Kaznacheev
Road to four nines
dreamworm
0
1
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
130
How To Create Saga-Free Distributed Transactions
dreamworm
0
69
Architectural decisions in building distributed systems
dreamworm
0
32
Распределенные транзакции без саг
dreamworm
0
200
Other Decks in Programming
See All in Programming
Java 21/25 Virtual Threads 소개
debop
0
320
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
210
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
300
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
160
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
1
230
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
270
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.2k
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
300
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Automating Front-end Workflow
addyosmani
1370
200k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
Building Adaptive Systems
keathley
44
3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
How to build a perfect <img>
jonoalderson
1
5.3k
Mind Mapping
helmedeiros
PRO
1
140
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
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