RU

[Перевод] Сегфолт в glibc, 345 тысяч утёкших сокетов и 474 тысячи соединений за полминуты: шесть багов в одной цепочке

Плановые работы в сети раз за разом валили процессы Kafka: segfault в DNS-резолвере glibc, сотни тысяч утёкших UDP-сокетов, полмиллиона TCP-соединен…

glibcDNSKafkaOCamlsegfaultsocketslinuxdebugging
Habr
RU

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

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

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

Kafka гарантирует порядок? Разбираем 3 инцидента с Outbox

Один ключ на все события заказа — и кажется, что порядок гарантирован. А потом клиенту приходит «Ваш заказ собран» раньше, чем «Оплата получена», ви…

Kafkatransactional-outboxPostgreSQLDebeziumCDCevent-orderingсистемный-анализнефункциональные-требованияidempotency
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

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

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

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

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

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

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

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

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

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