Я разрабатываю приложение для микросервиса с Кафкой поставщиком сообщений. В пользовательском обслуживании у меня есть контроллер, который вызывает функцию, которая отправляет запрос на услуги платежей. Мои потребители и производители настроены правильно, но я хотел бы знать, есть ли способ вернуть ответ от услуги платежей обратно в контроллер обслуживания пользователя. Возможно ли это, и как бы я это достиг?public List getUserDonationHistory(String userId) {
// 1. Make a request to the payment-service from which to get the donation-history
producerService.requestUserDonationHistory(userId);
return null;
}
< /code>
kafkaproducerservice < /p>
public void requestUserDonationHistory(String userId) {
log.info("Requesting the donation-history for the user with the ID: {}", userId);
kafkaTemplate.send("request-donation-history", userId);
}
Kafkalisteners в платеж-service
@KafkaListener(topics = "request-donation-history", groupId = "groupId")
public void getDonationHistoryRequest(String userId) {
log.info("Got a donationHistoryRequest. Raw userId: {}", userId);
Long parsedUserId = Long.parseLong(gson.fromJson(userId, String.class));
log.info("Parsed userId: {}", parsedUserId);
producerService.sendUserDonationHistory(parsedUserId);
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... nsumer-got