SpringCloud服務注冊與發現-Eureka、Nacos和Consul


參考博客:https://blog.csdn.net/z694644032/article/details/96485619https://www.cnblogs.com/zhucww/p/11532770.html

當client向server注冊時,它會提供一些元數據,例如主機和端口,URL,主頁等。Eureka server 從每個client實例接收心跳消息。 如果心跳超時,則通常將該實例從注冊server中刪除

服務注冊與發現的組件在市面上有非常多的選擇,常用的有Eureka、Nacos、Consul 

1.Eureka 是 Netflix 開源的一款提供服務注冊和發現的產品,已閉源,提供了完整的服務注冊和發現,springcloud中最核心的組件之一,需要手動配置 Eureka Server 服務器。

  服務器端:pom.xml 中引入spring-cloud-starter-netflix-eureka-server,啟動類添加@EnableDiscoveryClient 或@EnableEurekaServer注解,配置文件添加相關配置;

  客戶端:pom.xml 中引入spring-cloud-starter-netflix-eureka-client,啟動類添加@EnableEurekaClient注解,配置文件添加相關配置;

2.Nacos 是 Alibaba 開源的一款專注於動態服務發現,配置和服務管理的組件

  服務器端:使用 Nacos 作為服務注冊中心;

  客戶端:pom.xml 中引入spring-cloud-starter-alibaba-nacos-discovery,啟動類添加 @EnableDiscoveryClient注解,配置文件添加相關配置;

3.Consul是一個分布式高可用的系統,是為基礎設施提供服務發現和服務配置的工具

  服務器端:使用 consul 服務器;

  客戶端:pom.xml 中引入spring-cloud-starter-consul-discovery,啟動類添加 @EnableDiscoveryClient注解,配置文件添加相關配置;

注意點:

  1.@EnableEurekaClient只適用於Eureka作為注冊中心,@EnableDiscoveryClient 可以是其他注冊中心;

  2.從Spring Cloud Edgware開始,@EnableDiscoveryClient 或@EnableEurekaClient 可省略。只需加上相關依賴,並進行相應配置,即可將微服務注冊到服務發現組件上;

Eureka、Nacos、Consul 技術選型對比:

  配置中心:

    1.eureka 不支持

    2.consul 支持 但用起來偏麻煩,不太符合springBoot框架的命名風格,支持動態刷新

    3.nacos 支持 用起來簡單,符合springBoot的命名風格,支持動態刷新

  注冊中心:

  • eureka

    • 依賴:依賴ZooKeeper
    • 應用內/外:直接集成到應用中,依賴於應用自身完成服務的注冊與發現,
    • ACP原則:遵循AP(可用性+分離容忍)原則,有較強的可用性,服務注冊快,但犧牲了一定的一致性。
    • 版本迭代:目前已經不進行升級
    • 集成支持:只支持SpringCloud集成
    • 訪問協議:HTTP
    • 雪崩保護:支持雪崩保護
    • 界面:英文界面,不符合國人習慣
    • 上手:容易
  • consul

    • 依賴:不依賴其他組件

    • 應用內/外:屬於外部應用,侵入性小

    • ACP原則:遵循CP原則(一致性+分離容忍) 服務注冊稍慢,由於其一致性導致了在Leader掛掉時重新選舉期間真個consul不可用。

    • 版本迭代:目前仍然進行版本迭代

    • 集成支持:支持SpringCloud K8S集成

    • 訪問協議:HTTP/DNS

    • 雪崩保護:不支持雪崩保護

    • 界面:英文界面,不符合國人習慣

    • 上手:復雜一點

  • nacos

    • 依賴:不依賴其他組件
    • 應用內/外:屬於外部應用,侵入性小
    • ACP原則:通知遵循CP原則(一致性+分離容忍) 和AP原則(可用性+分離容忍)
    • 版本迭代:目前仍然進行版本迭代
    • 集成支持:支持Dubbo 、SpringCloud、K8S集成
    • 訪問協議:HTTP/動態DNS/UDP
    • 雪崩保護:支持雪崩保護
    • 界面:中文界面,符合國人習慣
    • 上手:極易,中文文檔,案例,社區活躍


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM