by Anonymous » 13 Apr 2025, 21:25
Ich entwickle eine Microservice -Anwendung mit Kafka als Nachrichtenanbieter. Im Benutzerservice habe ich einen Controller, der eine Funktion aufruft, die eine Anfrage an den Zahlungsdienst sendet. Meine Verbraucher und Hersteller sind korrekt konfiguriert, aber
ich möchte wissen, ob es eine Möglichkeit gibt, die Antwort vom Zahlungsdienst an den Benutzer-Service-Controller zurückzugeben. Ist das möglich und wie würde ich es erreichen?
Code: Select all
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>
Der 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);
}
Die Kafkalistener in der
Zahlungsdienste
Code: Select all
@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);
}
Ich entwickle eine Microservice -Anwendung mit Kafka als Nachrichtenanbieter. Im Benutzerservice habe ich einen Controller, der eine Funktion aufruft, die eine Anfrage an den Zahlungsdienst sendet. Meine Verbraucher und Hersteller sind korrekt konfiguriert, aber [url=viewtopic.php?t=14917]ich möchte[/url] wissen, ob es eine Möglichkeit gibt, die Antwort vom Zahlungsdienst an den Benutzer-Service-Controller zurückzugeben. Ist das möglich und wie würde ich es erreichen?[code]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>
Der 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);
}
[/code]
Die Kafkalistener in der [b] Zahlungsdienste [/b]
[code]@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);
}
[/code]