Какую потенциальную проблему видите в коде?Каким способом ее решить?Нужно ли вообще ее решать?Все зависит от требований к системе, конечно, поэтому принимать решения предстоит именно вам.Transactional Outbox — паттерн, который могут не знать даже Senior разработчики. Читать далее
Привет! На связи Миша Меркушин. Я тимлид команды Ruby Platform, ответственной за разработку внутренних библиотек и улучшение архитектуры микросервисов на Ruby в СберМаркете. Эта статья про архитектурный паттерн Outbox и инструмент, который мы создали и итерационно развивали внутри…
Привет, Хабр! Решил написать небольшую, техническую статью, о том, как мы ускорили запрос в таблицу, до которой не доходил autovacuum из-за большой нагрузки на БД примерно в 200 раз, а разгребание outbox очереди — ещё примерно в 3 раза. Читать далее
Привет, Хабр!Сегодня мы рассмотрим реализацию Outbox паттерна в разных ЯП. Цель простая: одним атомарным действием обновлять бизнес-данные и фиксировать факт события, а затем надежно доставлять его в брокер. Разберем общую схему, конкуренцию воркеров, ретраи, дедупликацию, метрики и покажу, как это собрать на C#, Java, Go, Python и Node.js. Читать далее