🧮 Как считать доступность в микросервисах
На первый взгляд: берём uptime каждого сервиса и радуемся:
- Service A: 99.9%
- Service B: 99.9%
"Значит система тоже 99.9%" - скажем мы.
А вот и нет. В композиции сервисов действует другая математика.
🔗 Последовательная цепочка
Если запрос проходит через 3 сервиса (последовательная цепочка Client → API → Auth → DB), у каждого из которых 99.9%, то:
0.999 × 0.999 × 0.999 = 0.997 ≈ 99.7%
Цифра получилась меньше.
Формула для последовательной цепочки:
Availability_total = Π Availability(i)
⛓️ Параллельные запросы
Если запрос обрабатывается параллельными независимыми вызовами сервисов А и В (каждый по 99%), то:
1 - (1 - A)(1 - B) = 99.99%
Общая надежность получилась выше.
Канал есть в MAX
Post #152
89