RU

Как мы сократили поток событий в 600 раз с помощью FlinkSQL

Привет! Меня зовут Сергей Прокопкин , я развиваю мотивационную программу и отвечаю за realtime-систему трекинга заданий в  Авито .  В моти…

Kafkaflinkbackendstream processinghighloadархитектура системыоптимизация производительностиreal-time streamingdistributed systemsevent-driven architecture
Habr
RU

Как опубликовать внутренний API из DMZ, если соединения в LAN запрещены: пять подходов, которые мы проверили

Как опубликовать внутренний API из DMZ, если соединения в LAN запрещены: пять подходов, которые мы проверили Все пять схем мы собирали на  NEOM…

APIDMZАрхитектураБезопасностьHAProxyKafkaActiveMQ ArtemisWSO2NeoflexJava
Habr
RU

Распилили монолит на 6 сервисов — и случайно собрали распределённый монолит: где мы ошиблись с границами

Монолит документооборота, менеджмент говорит: «пора пилить на микросервисы». Мы нарезали шесть сервисов, сверху повесили API Gateway, Load Balancer…

микросервисымонолитдекомпозиция монолитараспределённый монолитграницы сервисовbounded contextDDDKafkaCircuit Breaker
Habr
RU

Архитектура TMS на .NET: кластер, потоки координат и объектное хранилище

Это разбор архитектуры системы управления транспортом — без сроков, без смет и без сравнения технологий по галочкам. Только устройство: из чего сист…

архитектура.NETинтеграцияEIPKafkaRabbitMQRedisPostgreSQLкластерпартиционирование
Habr
RU

redb.Route — Apache Camel для .NET, который мы написали потому что выхода другого не было

У вас не 5 микросервисов — у вас  десятки . Бэкенд, который рос три года: монолит, расколотый на куски, GPS-фид от автопарка, мобильное приложе…

C#.NETESBEIPApache CamelKafkaRabbitMQинтеграцииopen-sourceredb.Route
Habr
RU

Cache is hard — почему инвалидация кэша — это проблема согласованности, а не производительности

Кэш часто воспринимают как простой способ ускорить систему: положили данные ближе к приложению — получили быстрый ответ. Но&nbsp…

кэшированиеинвалидация кэшасогласованность данныхраспределённые системыRedisPostgreSQLCDCKafkaTTLвысоконагруженные системы
Habr
RU

Очереди в микросервисах: 5 ошибок, которые приводят к дублям и потерям

Почему добавление второго consumer«а в очередь может привести к двойным списаниям? Разбираем на реальном кейсе: как один Topic с…

очереди сообщениймикросервисыброкеры сообщенийRabbitMQKafkaJMSpublish-subscribecompeting consumersидемпотентностьDead Letter Queue
Habr
RU

Полный гайд по каналам обмена сообщениями: от теории к реальным кейсам

Первая статья из цикла о каналах обмена сообщениями. Разбираем архитектурные дилеммы, конкурирующих потребителей, message storm, гарантиро…

архитектура ПОинтеграцияобмен сообщениямиканалы сообщенийJavaKafkaмикросервисы
Habr
RU

[Перевод] Паттерны событийно-ориентированной архитектуры в облачном банкинге: что работает, а что ломает систему

Событийно-ориентированная архитектура часто выглядит как аккуратная схема с брокером, сервисами и красивыми стрелками между ними. В продакшене всё п…

event-driven architectureedacloud-nativeбанковские системымикросервисыKafkaoutboxinboxидемпотентность