Привет, Хабр! На связи системный аналитик Илья Глазунов и разработчик Захар Корсаков. Мы работаем с платформой карточного хранилища Т-Банка.Когда данных становится много, а архитектура обязана оставаться простой, классические решения начинают упираться в ограничения стека. В…
Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox.В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе. Читать далее
Transactional outbox обычно внедряют ради консистентности, а в итоге получают новый источник «случайной» задержки и постоянный фон нагрузки на базу из-за поллинга. В этой короткой статье разберем простой поворот идеи: не выбрасывая outbox и relay-процесс, попробовать отправлять событие сразу после коммита и превращать поллинг в редкий fallback. Посмотрим, что это даёт по задержкам и нагрузке, и какие неприятные нюансы всплывают с порядком доставки, дублями и наблюдаемостью. Открыть разбор
Всем добрый день! Сегодня я хотел бы рассказать вам историю о том, как мы «локализовали» Geek-ключницу, или Key-органайзер. Несмотря на кажущуюся простоту конструкции, мы прошли довольно большой путь от идеи до запуска, и под катом скорее большая исповедь о том, почему «Keysmart по-русски» вышел таким, почему его нельзя сравнивать с тем, что продает Aliexpress, а также о том, почему мы взялись за «импортозамещение». Внутри много фото, видео и пара Gif. Читать дальше →