java—如何使用rest和kafka将异步rest调用的结果推送到客户端

flvlnr44  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(541)

我想部署一组可扩展的微服务。每个服务都应该通过rest相互通信。我还需要请求第三方服务,这将是缓慢和不稳定的。所以我想出了一个想法,让它成为事件驱动的,并使用apachekafka。
比如:
webclient\u x--请求-->负载平衡器--转发-->a服务\u 1--请求-->第三方服务
一个服务需要轮询第三方服务的结果,并将其写入Kafka。
Kafka
现在怎么办?
如何将存储在kafka主题中的结果发送回请求的webclient\u x。记住:-a-service在lb后面部署了n次。-a-service_示例向webclient返回了response.created(uuid)
唯一的解决方案是让webclient使用kafka主题。但这似乎是个愚蠢的想法。

quhf5bfb

quhf5bfb1#

经过深思熟虑,我想到了以下想法:
_服务的所有示例都相等地使用kafka主题(无平衡)
结果存储在缓存中(本地)
webclient需要使用uuid轮询结果。
将来我将用redis集群或集群memcache替换缓存。
投票的另一个选择是websockets。但这似乎有一些缩减。

相关问题