Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox.В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе. Читать далее
Transactional outbox обычно внедряют ради консистентности, а в итоге получают новый источник «случайной» задержки и постоянный фон нагрузки на базу из-за поллинга. В этой короткой статье разберем простой поворот идеи: не выбрасывая outbox и relay-процесс, попробовать отправлять событие сразу после коммита и превращать поллинг в редкий fallback. Посмотрим, что это даёт по задержкам и нагрузке, и какие неприятные нюансы всплывают с порядком доставки, дублями и наблюдаемостью. Открыть разбор
В нашем блоге мы много пишем о построении карьеры в ИТ в разных странах, поиске работы, отличиях в процессе собеседований крупных компаний. В сегодняшней статье мы пойдем дальше и раскроем тему так называемых интервью по system design – это один из этапов собеседований известных технологических компаний, на котором отсеиваются многие кандидаты. Итак, что такое system design и как пройти интервью такого типа? Читать дальше →
События разворачивались в нескольких реальностях. В первой заказ не пришёл. Во второй - произошло несколько списаний средств. В третьей система упала посередине процесса, оставив данные в не консистентном состоянии.А четвертая оказалось самой интересной. Где даже с…