我正在把Kafka 9作为一个兴趣项目来研究,并完成了一些"Hello World"类型的示例。
我开始思考基于请求响应消息的真实世界Kafka应用程序,特别是如何将Kafka请求消息链接到其响应消息。
我的想法是使用生成的UUID作为请求消息键,并将此请求UUID作为关联响应消息键。这与WebSphere MQ具有消息关联ID的机制非常相似。
我的端到端流程如下:
1). Kafka客户端生成随机UUID并发送单个Kafka请求消息。 2). 服务器将消耗此请求消息提取和存储请求UUID值 3). 使用消息有效负载完成业务流程。 4). 使用来自请求消息的存储UUID值作为响应消息键响应。 5). Kafka客户端轮询响应主题,直到超时或检索具有原始请求UUID值的消息。
我担心的是,Kafka消费者轮询将从响应主题删除其他客户端的消息,并增加偏移量,使其他客户端失败。
我是否在尝试将Kafka应用于其从未设计的用例中?
是否可能在Kafka中实现请求/响应消息传递?