以编程方式确定何时创建或终止了微服务的新实例?

Programmatically identify when a new instance of a microservice has been created or killed?

有没有办法以编程方式识别在给定时间单个微服务的实例数是否达到一定数量? 例如:我如何以编程方式知道现在有多少我的帐户微服务实例 运行?另外,如何找出该数字何时更改?

我的意图是在超过阈值时通知管理员。我正在使用 Spring Boot with Spring Cloud,Spring Config 和 Consul 作为服务发现。如果需要我愿意换成Eureka

好吧,基于文档,您可以使用 DiscoveryClient 来获取基于某些服务的实例,文档示例是 "STORES",看一下,您可以通过以下示例来实现:

@Autowired
private DiscoveryClient discoveryClient;

public List<ServiceInstance> getInstances(String serviceName) {
    List<ServiceInstance> list = discoveryClient.getInstances(serviceName);
    if (list != null && list.size() > 0 ) {
        // logic here if it is necessary. 
    }
    return list;
}