我有一个Java miroservice,它将被部署为多个服务实例。微服务以一种简单的方式无状态地工作:根据来自DB的预定义标准获取请求,处理请求,接下来获取并处理它,等等。 我现在考虑将故障转移添加到服务中。如果某个实例处理了请求,我可能需要在请求中添加额外的信息(如processor_id)。因此,如果确定实例没有响应,则其他实例可以请求该请求。我还需要为微服务添加心跳。也许我可以利用Apache Zookeeper或Curator来实现这一目标。 但我不知道如何让不同的作品协同工作。如果Java中有例子,它会更好。
答案 0 :(得分:1)
我在职业生涯中看到的是,有一个负载均衡器可以在微服务中分配请求。负载均衡器知道调用状态端点的微服务的可用性,该状态端点返回http状态。如果没有响应,或者响应为负,则负载均衡器会从组中排除微服务。