Spring Cloud Commons 普通抽象

诸如服务发现,负载平衡和断路器之类的模式适用于全部Spring Cloud客户端能够独立于实现(例如经过Eureka或Consul发现)的消耗的共同抽象层。html

@EnableDiscoveryClient Commons提供@EnableDiscoveryClient注释。这经过META-INF/spring.factories查找DiscoveryClient接口的实现。Discovery Client的实现将在org.springframework.cloud.client.discovery.EnableDiscoveryClient键下的spring.factories中添加一个配置类。DiscoveryClient实现的示例是Spring Cloud Netflix Eureka,Spring Cloud Consul发现和Spring Cloud Zookeeper发现。spring

默认状况下,DiscoveryClient的实现将使用远程发现服务器自动注册本地Spring Boot服务器。能够经过在@EnableDiscoveryClient中设置autoRegister=false来禁用此功能。服务器

ServiceRegistry Commons如今提供了一个ServiceRegistry接口,它提供了诸如register(Registration)和deregister(Registration)之类的方法,容许您提供定制的注册服务。Registration是一个标记界面。架构

@Configuration @EnableDiscoveryClient(autoRegister=false) public class MyConfiguration { private ServiceRegistry registry;框架

public MyConfiguration(ServiceRegistry registry) {
    this.registry = registry;
}

// called via some external process, such as an event or a custom actuator endpoint
public void register() {
    Registration registration = constructRegistration();
    this.registry.register(registration);
}
复制代码

} 每一个ServiceRegistry实现都有本身的Registry实现。微服务

服务部门自动注册 默认状况下,ServiceRegistry实现将自动注册正在运行的服务。要禁用该行为,有两种方法。您能够设置@EnableDiscoveryClient(autoRegister=false)永久禁用自动注册。您还能够设置spring.cloud.service-registry.auto-registration.enabled=false以经过配置禁用该行为。this

服务注册执行器端点 Commons提供/service-registry致动器端点。该端点依赖于Spring应用程序上下文中的Registration bean。经过GET调用/service-registry/instance-status将返回Registration的状态。具备String主体的同一端点的POST将将当前Registration的状态更改成新值。请参阅您正在使用的ServiceRegistry实现的文档,以获取更新状态的容许值和为状态获取的值。spa

从如今开始,我这边会将近期研发的springcloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,但愿能够帮助更多的好学者。你们来一块儿探讨spring cloud架构的搭建过程及如何运用于企业项目。code

源码来源:http://minglisoft.cn/honghu/technology.htmlcdn

相关文章
相关标签/搜索