Это полностью зависит от ваших требований.
- Если вы хотите, чтобы функциональность была:
- при сбое исключения из журнала push в тему kafka и выхода.
- независимо от того, является ли kafka push успешным или нет сохранения данных на вашем конце.
- заставьте потребителя сохранить его в БД.Я предполагаю, что когда вы отправляете сообщение, вы хотите манипулировать данными в вашем методе слушателя.Таким образом, это зависит от того, какое состояние данных вы хотите сохранить в вашей БД.
Кроме того, если вы используете Kafka, вы будете вызывать другой микросервис, является ли ваша таблица, которую вы хотите обновить, доступной для обеих служб, т. Е. Если службы совместно используют базу данных (в идеале, они не будут).
Если база данных не является общей, и вы все еще хотите сохранить эти данные, которые необходимо сохранить до или после вызова pushMessage для kafka, потому что это степень проверки, которую вы можете иметьесли сообщение успешно отправлено или нет.У pushMessage будет метод сбоя, вы можете выдать исключение и там, в зависимости от сбоя, после сохранения данных или выхода.