TGViewer
Саша Раковский Саша Раковский @rakovskyxp · 833 subscribers
Post #34 1.4K
Про надёжность 🚀

В одном замечательном банке очень любили надежность. 

Например, их смущала ситуация, что в Кафке могут протухать сообщения и заканчиваться ретраи. Поэтому они сделали специальный "надежный транспорт", представляющий из себя 2 кафки и посередине базу данных. Отправитель кладёт сообщение в один топик, сообщение перекладывается в базу данных, из которой читается по расписанию и кладётся в другой топик, откуда его читает получатель.

В итоге, взяли самый надёжный в мире брокер сообщений и, желая сделать взаимодействие ещё надёжнее, сделали его менее надёжным. А что надо было сделать? С умом подойти к настройке retention policy и retry policy, внимательно подумать над разными failover сценариями.

Или другой пример: с целью повышения надёжности всей IT-инфраструктуры банка каждый критически важный сервис (то есть, просто каждый), который взаимодействует с базами данных, обязан все данные сохранять ещё и в запасную базу данных. Чтобы, когда первая база данных умрёт, можно было переключиться на запасную. 

Тоже хотели надёжнее, а сделали наоборот. Что надо было сделать? Использовать зарекомендовавшие себя опенсурсные БД на геораспределенных кластерах.

А что плохого то?

Почему я считаю, что озвученные решения менее надёжные? Очень просто: главный фактор, влияющий на надёжность - это сложность системы. Чем больше разных двигающихся частей, тем больше деталек может сломаться. В физических терминах: чем больше степеней свободы, тем выше энтропия, хаос.

Это как с автоматом Калашникова. Почему это самый надёжный автомат в мире? Да потому что он настолько простой, что там ломаться особо нечему. Ну почти.

Это правило работает всегда?

Нет. Например, Кафка - один из самых надёжных брокеров сообщений, но, в то же время, один из самых сложных. Современный двигатель внутреннего сгорания гораздо надёжнее хоть и одновременно сложнее, чем ДВС начала прошлого века.

Иногда простые решения не обеспечивают достаточной устойчивости, и резервирование все же необходимо. А где резервирование, там и ящик Пандоры в плане взрывного роста сложности решения на ровном месте из-за проблем с распределенностью, CAP-теоремой и прочей конкуренцией.

В общем, для повышения надёжности часто наоборот необходимы более сложные механизмы. Но вот вся разгадка для этой задачки в том, что это должны быть промышленные решения, а не что-то своё на коленке. 

Важно уметь отнестись к своим способностям критически: разработка технологии мирового уровня требует команды, финансов и процессов мирового уровня. И, конечно же, удачи, потому что из всех продуктов мирового уровня по-настоящему популярными становятся единицы.
  • 👍 15
  • 💯 8
  • ❤ 3
More from @rakovskyxp
  1. Oct 16, 2026Очередной топ-3 Последние посты были пустоватыми, жвачка такая, воздух погонять. Люди жалу…
  2. Oct 15, 2026В марте 2025 Дарио сказал, что в течение 12 месяцев 100% кода будут писать нейросети. Коне…
  3. Oct 9, 2026Я полгода держался, но нет. Теперь будут регулярные разборы ахинеи от этого чувака, извини…
  4. Oct 9, 2026Или вот такое ещё. Короче, если подписаны, то фильтруйте все до каждой запятой.
  5. Oct 9, 2026Вот ещё немного ахинеи
  6. Oct 9, 2026Сейчас чем дальше, тем популярнее становится вот этот чувак. Будьте осторожнее, человек не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →