Apache kafka 微服务之间的Apache kafka消息通信

Apache kafka 微服务之间的Apache kafka消息通信,apache-kafka,Apache Kafka,我有一个问题,我想用卡夫卡队列来解决。 我需要处理一些结果,然后将其返回给用户 如图所示,Rest服务向计算器服务请求一些内容 这两种服务都有卡夫卡消费者和卡夫卡制作人 rest服务接收一个请求,然后在toAdd队列上生成一条消息,然后继续使用fromAdd队列,直到收到一个值 计算器服务一直使用toAdd队列,当一些消息出现时,它将两个值相加,然后在fromAdd队列上生成一条消息 有时,rest服务从队列接收旧消息,或者接收多条消息。 我发现了一些关于幂等配置的东西,但我不知道如何正确实现

我有一个问题,我想用卡夫卡队列来解决。 我需要处理一些结果,然后将其返回给用户

如图所示,Rest服务向计算器服务请求一些内容

这两种服务都有卡夫卡消费者和卡夫卡制作人

rest服务接收一个请求,然后在toAdd队列上生成一条消息,然后继续使用fromAdd队列,直到收到一个值

计算器服务一直使用toAdd队列,当一些消息出现时,它将两个值相加,然后在fromAdd队列上生成一条消息

有时,rest服务从队列接收旧消息,或者接收多条消息。 我发现了一些关于幂等配置的东西,但我不知道如何正确实现

该图是使用kafka在两个或多个服务之间进行通信的正确方式吗

有人能举个例子吗


谢谢。

回答您的问题:这种交流没有问题

现在回到其他部分。。。
请记住,这是一种异步通信,因此不应保持HTTP连接打开,并让该服务的用户等待响应。这不是我们要走的路。你可以用很多方法来解决这个问题。例如:您可以使用WebSocket,您可以向用户发送电子邮件/SMS/slack msg以及回复等。

回答您的问题:这种通信没有问题

现在回到其他部分。。。 请记住,这是一种异步通信,因此不应保持HTTP连接打开,并让该服务的用户等待响应。这不是我们要走的路。你可以用很多方法来解决这个问题。例如:您可以使用WebSocket,您可以向用户发送电子邮件/SMS/slack msg以及回复等

该图是使用kafka在两个或多个服务之间进行通信的正确方式吗

如果你的意思是让两个或两个以上的服务通过卡夫卡间接交流有意义吗?那么是的,有意义

有人能举个例子吗

以下是一些好的建议,包括示例:

,合流博客,2017年5月 ,作者:Bobby Calderwood,StrangeLoop,2016年9月 该图是使用kafka在两个或多个服务之间进行通信的正确方式吗

如果你的意思是让两个或两个以上的服务通过卡夫卡间接交流有意义吗?那么是的,有意义

有人能举个例子吗

以下是一些好的建议,包括示例:

,合流博客,2017年5月 ,作者:Bobby Calderwood,StrangeLoop,2016年9月
显然,添加两个数字是一项很简单的服务,可以在web/rest应用程序中完成,因此我假设您只是在用它来替代您用例中的实际服务。您能否像通过短信或电子邮件那样直接将结果返回给用户,而不必在SOA请求/响应RPC样式中如此紧密地耦合。您是否出于任何特定原因选择在该场景中使用Kafka?我在这里使用计算器只是为了演示,在真实场景中,会涉及到更多的服务。显然,添加两个数字是一个微不足道的服务,可以在web/rest应用程序中完成,因此我假设您只是在使用案例中用这一数字替换真实的服务。您是否可以像通过短信或电子邮件那样直接将结果返回给用户,而不必在SOA请求/响应RPC样式中如此紧密地耦合。在这个场景中,您是否出于任何特定原因选择使用Kafka?我在这里使用计算器只是为了演示,在真实场景中,涉及的服务更多。