Пятничное чтиво



Сегодня вечером разыгрываем 3 билета на rubyrussia конференцию. Если хотите успеть поучаствовать:



- Заполняем форму;

- Рассказываем друзьям и коллегам о розыгрыше;

- Сегодня вечером разыгрываю 2 билета;



—————————————



Аварии помогают учиться

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



—————————————



Кот Шрёдингера без коробки: проблема консенсуса в распределенных системах

Популярная проблема распределенных систем - согласованность (consensus) записи данных. В статье даются основные определения и проблемы согласованности, рассказывается в чем отличие синхронной и асинхронной модели коммуникации в таких системах, почему в синхронной модели отказ одного узла ломает систему целиком. Так же рассказывается об семействе алгоритмов paxos, которые решают проблему консернуса. Этот алгоритм используется в cassandra, Amazon Elastic Container Services и как замена zookeeper в Neo4j



Если интересна эта тема, советую посмотреть на raft алгоритм, который решает похожую проблему и используется в NATS. Думаю, в будущем можно будет реализовать подобные паттерны на стримах, чтобы лучше понимать как это работает под капотом.



—————————————



http://amp.gs/N3wI



Distributed Tracing визуализирует путь запроса (или событий) в сервисной архитектуре. В монолитном приложении хватает обычного request_id, но когда дело касается сервисов, нужна группировка сложнее. В статье рассказывается что такое распределенная трассировка, зачем нужна и как работает. А так же сравниваются проекты, которые помогают интегрировать трассировку.



А для тех, кто хочет добавить в трассировку события, статья от confluent о том, как работает zipkin + kafka:



The Importance of Distributed Tracing for Apache-Kafka-Based Applications



Понравился пример визуализации сообщений между сервисами, который показан в конце статьи. Так как последнее время трачу много времени на подобные визуализации