1. 程式人生 > >Eureka服務註冊與發現

Eureka服務註冊與發現

sco zookeeper 健康 寧可 spa 分布 tar 關系型數據庫 tag

註冊中心的建立
1、增加pom文件; 2、修改yml配置文件; 3、添加@EnableEurekaServer註解; 4、啟動進入服務註冊頁面。
微服務註冊到註冊中心
1、添加yml配置,尋找註冊中心地址 2、添加@EnableEurekaClient註解在啟動類; 3、啟動服務註冊頁面,新增了一個註冊的微服務。
配置修改:
<wiz_code_mirror>
Eureka: 
    instance: 
        instance-id: microservicecloud-8081 //主機映射名稱的修改
        prefer-id-address: true //訪問路徑可以顯示ip
//info內容構建,替換error頁面,添加maven的build標簽配置後,增加以下配置。
info: 
    app.name: microservice
    company.name: sun
    build.artifact.id: $project.artifactId$
    build.version: $project.version$
自我保護機制:
好死不如賴活著:寧可保留錯誤的服務註冊信息,也不盲目註銷健康的服務實例。 當心跳數重新恢復到閥值以上時,該節點自動退出自我保護機制。 <wiz_code_mirror>
eureka: 
    server: 
        enable-self-preservation: false//禁用自我保護機制,一般不使用
服務發現:
1、在啟動類上新增註解@EnableDiscoveryClient 2、註入並訪問發現的服務 <wiz_code_mirror>
@AutoWired
private DiscoveryClient client;
@GetMapping(value = "/dept/discovery")
public Object discovery(){
    List<String> list = client.getServices();
    List<ServiceInstance> srvList = client.getInstances("MICROSERVICE");
}
Eureka集群:
1、新增2個Eureka模塊,修改hosts配置文件; 2、修改yml配置文件 <wiz_code_mirror>
eureka: 
    client: 
        service-url: 
            #defaultZone: http://localhost:7001/eureka //單機版
            #defaultZone:http://eureka7002.com:7002/eureka/,http://eureka7002.com:7002/eureka/ #集群版
3、訪問任意註冊中心,在Ds Replicas 下新增了另外兩個集群節點。
Eureka和ZooKeeper比較:
關系型數據庫:事務實現了ACID理論; 非關系型數據庫:分布式集群系統只能保證CAP原則的兩項。 1、CP原則:Zookeeper實現,一臺宕機後,會再次尋找leader,這個時間段無法達到A原則; 2、CA原則:Eureka實現,平等集群,一臺宕機後,立即轉發到另一臺上。 自我保護機制保證高可用,在沒心跳的情況下不會停止過期服務。 一般配合BASE原則使用,保證最終的一致性即可。 技術分享圖片

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false">

Eureka服務註冊與發現