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 EurekaSpring Cloud Consul發現Spring Cloud Zookeeper發現java

默認狀況下,DiscoveryClient的實現將使用遠程發現服務器自動註冊本地Spring Boot服務器。能夠經過在@EnableDiscoveryClient中設置autoRegister=false來禁用此功能。spring

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實現。架構

從如今開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,但願能夠幫助更多的好學者。你們來一塊兒探討spring cloud架構的搭建過程及如何運用於業項目。源碼來源框架

相關文章
相關標籤/搜索