gpt4 book ai didi

apache-kafka - Kafka 是否支持请求响应消息传递

转载 作者:行者123 更新时间:2023-12-03 13:00:06 26 4
gpt4 key购买 nike

我正在研究 Kafka 9 作为一个业余项目,并完成了一些“Hello World”类型的示例。

我必须考虑基于请求响应消息的真实世界 Kafka 应用程序,更具体地说,如何将 Kafka 请求消息链接到其响应消息。

我正在考虑使用生成的 UUID 作为请求消息 key 并将此请求 UUID 作为关联的响应消息 key 。与 WebSphere MQ 具有消息关联 ID 的机制类型非常相似。

我的结束 2 结束过程将是。

1)。 Kafka 客户端生成一个随机 UUID 并发送单个 Kafka 请求消息。
2)。服务器将使用此请求消息提取并存储请求 UUID 值
3)。使用消息有效负载完成业务流程。
4)。使用响应消息响应,该响应消息使用请求消息中存储的 UUID 值作为响应消息 Key。
5)。 Kafka 客户端轮询响应主题,直到超时或检索具有原始请求 UUID 值的消息。

我担心的是 Kafka Consumer 轮询会从响应主题中删除其他客户端消息并增加偏移量,从而导致其他客户端失败。

我是否试图将 Kafka 应用到它从未设计过的用例中?

是否可以在 Kafka 中实现请求/响应消息传递?

最佳答案

尽管 Kafka 提供了方便的方法来为给定的消费者组保留已提交的偏移量,但您不需要使用该行为,并且可以根据需要自行编写。即便如此,按照您描述的方式使用 Kafka 对于用例来说还是有点尴尬,因为每个客户端都需要重复搜索主题以获取特定响应。这充其量是低效的。

您可以将问题分为两部分,继续使用 Kafka 向您的服务器发送请求和从您的服务器发送响应。您需要添加的唯一部分是您的客户端与之通信的某种 API 层,它封装了来自您的客户端的 Kafka 特定逻辑。这一层需要一个本地数据库(关系或 NoSQL),它可以通过 uuid 存储响应,从而使 API 能够非常快速和轻松地回答响应是否可用于特定 uuid。

关于apache-kafka - Kafka 是否支持请求响应消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35535785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com