Обновить
3
Владимир@metacoder-feff

Пользователь

Отправить сообщение

У вас в статье есть следующие тезисы:

  1. Потери: И это не экзотика на 0.001% инцидентов.

  2. Почему Debezium и outbox гораздо медленнее: таймер опроса/BatchSize

  3. Вам не нужно писать диспетчер outbox и таблицу руками. Оно уже давно реализовано в сотнях библиотек.

Из этих тезисов складывается впечатление, что проблема в этой библиотеке. то есть зачем делать эту задержку в каждом сообщении если достаточно только для случая ошибок (0.001%)?

иными словами:

  1. сохранили сущность+сообщение в БД

  2. отправили сообщение в кафку или куда захотим

  3. удалили сообщение из БД

Причём п2-3 делать надо в том же процессе, но в фоновом сервисе, чтобы не держать клиента.

Кроме того фоновый сервис должен переобрабатывать пропущенные сообщения по таймеру (0.001% х Таймер опроса х BatchSize).

Собственно вопрос больше не к статье, а к уважаемому сообществу:

Какие библиотеки лучше подходят для решения этой задачи?

Спасибо за интересную статью!
Стоит еще добавить, что ГЛАВНОЕ преимущество кафки - это горизональное масштабирование IOPS на ЗАПИСЬ. (это про деньги, а не только про производительность)
Впрочем, вопрос высоких нагрузок вы осветили.
Вопросы архитектурных удобств кафки, как я считаю вторичны.

Спасибо за комментарий. Проект TestContainers действительно достоин упоминания, однако ключевой момент этой статьи — Как упростить.

Совершенно верно.

Я стараюсь объяснять младшим товарищам, что тестирование это не нагрузка, а помощник разработчика наподобие статического анализатора(в случае С# - компилятора) или аи-агента. Главное владеть удобными методами и инструментами. Эта статья как раз про один из них.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность