В марте после C++ Russia (когда я говорю после, я имею в виду спустя час после конца второго дня) в баре со спикерами конференции я познакомился с Лёшей Быковым. Забавно, что мы познакомились с ним там, хотя вообще-то Лёша тоже из Яндекса. Работает в Go. Занимается надёжностью сервисов вокруг. Я даже ему когда-то писал, но тогда он был абстрактной аватаркой в тг, а не конкретным человеком.
Тогда за пивом он рассказал мне несколько интересных вещей:
- про разные способы чинить инциденты, не понимая их руткозов. Я на тот момент, пусть это и совсем недавно было, ещё не думал в целом про то, что так стоит делать. Хотя это и очень очевидно. Вот релизы откатывать, а потом разбираться, я умел. Но обобщить это на любую другую проблему ещё не мог.
- реальную историю про то, как у
std::optional вызывался деструктор boost::optional. Кек, да?- про метастабильные состояния. Я тогда не понял, что это такое, но уже подразобрался. И вы спустя пару часов вдумчивого потребления контента осознаете.
Метастабильное состояние -- это такое состояние, в которое наша система может войти по некоторому триггеру и не сможет выйти сама. Характеризуется просадкой производительности.
Про метастабильные состояния есть базированная небольшая статья: Metastable Failures in Distributed Systems. Лёша (а точнее Gemini ему) утверждает, что лучше статьи для введения в тему не найти. Ну вот и почитайте. В ней описывается базовое определение, примеры метастабильных состояний в зависимости от разных причин, способы их как-нибудь хендлить и направления для ресёрча по теме. Статья довольно короткая, так что не пугайтесь. Сядьте на полчасика и вдохните.
Если на бумаге ещё не прям понятно, посмотрите на примеры метастабильных состояний из жизни от Лёши. Они здорово помогают понять концепцию на пальцах.
Можете ещё Лёшин доклад посмотреть: Сложность метастабильных состояний отказа на примере Такси. И вот тут набор ссылочек из его доклада.
Подписывайтесь на Лёшу: @it_tldr. Он пишет редко, но метко.
Лёша ещё работает вместе с Пашей Назаровым. Паша тоже занимается надёжностью в Go. Они вместе координируют инциденты. На том же митапе Паша рассказывал про надёжность и БД: Укрощение строптивых баз данных.
Канала у Паши, насколько я знаю, нет. Только инстаграм. Но его я продвигать не буду (Паш, извини!).