Я разрабатываю новый микросервис уведомлений, используя SpringBoot и Kafka. Он работает следующим образом:
- Служба уведомлений имеет API, где потребители могут отправлять запрос с уведомлением.
- Служба уведомлений помещает этот запрос в очередь kafka и отправляет обратно принятыйответ.
- Служба уведомлений считывает очередь Kafka и отправляет уведомления во внешнюю службу электронной почты / SMS.
Для пункта 1 сведения о сообщении (например, отправитель, сообщение):положить в очередь кафки. В идеале я не хочу помещать все эти детали в сообщение Кафки. Я мог бы вставить уведомление в БД и вернуть идентификатор уведомления, который помещается в сообщение Kafka. Единственное, что меня беспокоит, это количество запросов, я не хочу перегружать БД или, если есть проблема с БД, я теряю запросы.
Любые советы / рекомендации о том, что является лучшей практикой?