【发布时间】:2017-01-21 23:36:54
【问题描述】:
我想部署一组可扩展的微服务。每个服务都应该通过 REST 相互通信。我还需要请求第三方服务,这些服务会很慢而且不稳定。 所以我想出了让它事件驱动并使用 apache kafka 的想法。
类似:
WebClient_X--request--->LoadBalancer--forward-->A-Service_1--request--->ThirdPartyService
A_Service_1 需要轮询 ThirdPartyService 以获取结果并将其写入 kafka。
A_Service_1--->卡夫卡
现在呢?
如何将存储在 kafka 主题中的结果发送回请求的 WebClient_X。 记住: - A-Service 在 LB 后面部署了 N 次。 - A-Service_1 实例返回一个 Response.created(uuid) 给 WebClient
解决方案是让 WebClient 使用 kafka 主题。但这似乎是一个愚蠢的想法。
【问题讨论】:
标签: java rest apache-kafka microservices