File tree 3 files changed +112
-3
lines changed
3 files changed +112
-3
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ title : " Arhitecture and Infrastructure"
3
+ date : 2024-11-30T17:20:22+03:00
4
+ draft : false
5
+ description : " Arhitecture and Infrastructure"
6
+ summary : " "
7
+ ---
8
+
9
+ ## Cache
10
+
11
+ - Server
12
+ - Patterns
13
+ - Cache-Aside
14
+ - Advantages
15
+ - Устойчивость к сбоям кеша
16
+ - Модель данных в кеше может отличаться от модели данных в БД
17
+ - Disadvantages
18
+ - Низкая скорость обновления данных
19
+ - Несогласованность данных в кеше с базой данных
20
+ - Read-Through
21
+ - Advantages
22
+ - Меньшая сложность приложения и низкая вероятность ошибок
23
+ - Disadvantages
24
+ - Кеш-промах при первом запросе
25
+ - Ограничения на выбор модели данных в кеше
26
+ - Чувствительность к ошибкам в отличие от Cache-Aside
27
+ - Refresh-ahead
28
+ - Advantages
29
+ - Низкая стоимость чтения данных из БД
30
+ - Согласованность записей кеша, к которым часто обращаются пользователи
31
+ - Высокая чувствительность к задержкам
32
+ - Disadvantages
33
+ - Кеш должен работать без ошибок, поскольку в случае ошибки это будет не сразу определено и приведёт к неконсистентности данных и чтению из базы.
34
+ Write-Through
35
+ - Advantages
36
+ - Данные между кешем и базой данных всегда будут синхронизированы
37
+ - Disadvantages
38
+ - Необходимость ждать, пока кеш обновит базу данных
39
+ - Write-Behind
40
+ - Invalidation
41
+ - Time-based
42
+ - Purge Cache
43
+ - Refresh Cache
44
+ - Time-To-Live(TTL) expiration Cache
45
+ - Key-based
46
+ - Client
47
+
48
+ ## HighLoad
49
+ - Patterns
50
+ - Backpressure
51
+ - Curcuit Breaker
52
+
53
+
Original file line number Diff line number Diff line change @@ -7,6 +7,8 @@ description: "Architecture design"
7
7
8
8
## C4 Model
9
9
10
+ - [ C4-PlantUML] ( https://github.com/plantuml-stdlib/C4-PlantUML?tab=readme-ov-file#container-diagram )
11
+
10
12
## How to create
11
13
12
14
1 . Соберать требования и определите границы системы
Original file line number Diff line number Diff line change @@ -159,10 +159,12 @@ description: "Microservices and Microfrontends"
159
159
- Граицы сервисов
160
160
- Методы взаимодействия
161
161
- Синхронное взаимодействие
162
- - REST
162
+ - RESTful
163
163
- GRPC
164
- - Асинхронное ывзаимодействие
164
+ - OpenAPI
165
+ - Асинхронное взаимодействие
165
166
- Event-Driven Architecture
167
+ - AsyncAPI
166
168
- Управление данными
167
169
- Стратегии обеспечения согласованности данных
168
170
- Конечная согласованность
@@ -224,7 +226,11 @@ description: "Microservices and Microfrontends"
224
226
- Database per Service
225
227
- Service per Team
226
228
- Event Sourcing
229
+ - Message Queueing
230
+ - Publish/Subscribe
227
231
- CQRS
232
+ - Commands
233
+ - Queries
228
234
- Saga
229
235
- Типы реализации
230
236
- Orchestration
@@ -255,7 +261,55 @@ description: "Microservices and Microfrontends"
255
261
- Distributed Tracing
256
262
- Audit Logging
257
263
- API Gateway
264
+ - Types
265
+ - Монолитный
266
+ - Распределенный
267
+ - Многослойный
268
+ - Serveless
269
+ - Functions
270
+ - Централизация маршрутизации запросов
271
+ - Управление аутентификацией и авторизацией
272
+ - Балансировка нагрузки и распределение трафика
273
+ - Обеспечение безопасности
274
+ - Кэширование запросов
258
275
3 . Infrastructures patterns
259
276
- Service Discovery,
260
277
- Service Mesh
261
- - Service Registry
278
+ - Service Registry
279
+
280
+ ## Principles
281
+
282
+ - The Twelve-Factor App
283
+ - Codebase
284
+ - Dependencies
285
+ - Config
286
+ - Backing Services
287
+ - Build, Release, Run
288
+ - Processes
289
+ - Port Binding
290
+ - Concurrency
291
+ - Disposability
292
+ - Dev/Prod Parity
293
+ - Logs
294
+ - Admin Processes
295
+ - Lightweight microservices
296
+ - Минимализм
297
+ - Независимость
298
+ - Быстрое время запуска
299
+ - Эффективное использование ресурсов
300
+ - Упрощение зависимостей
301
+ - Обеспечение изоляции
302
+ - Документирование и автоматизация
303
+ - DevOps
304
+ - Pipeline as Code
305
+ - Повторяемость
306
+ - Гибкость
307
+ - Версионирование
308
+ - Прозрачность
309
+ - Масштабируемость
310
+ - Подверженность ошибкам
311
+ - Infrastructure as Code
312
+ - CI/CD
313
+ - Continuous Integration
314
+ - Continuous Delivery
315
+ - Continuous Deployment
You can’t perform that action at this time.
0 commit comments