微服務之註冊中心對比

2021-09-25 05:59:45 字數 3232 閱讀 2448

微服務化是當前一大趨勢,註冊中心則是微服務最基礎的元件,是之前組內安排的任務,於是把結果分享出來,本文對當前業界比較流行的微服務元件進行了調研,並作出了總結。

當前對微服務元件的調研維度如下:社群生態熱度、易用性、效能、cap分布式特性、當前元件維護狀態、重點功能等。

eureka:netflix公司產品,springcloud1.x版本整合,後續版本宣布不再開源;

nacos:阿里產品,springcloud-alibaba整合,近期開源,版本0.9.0,基於springboot2.x,服務註冊中心與配置中心可以整合配置。

consul:hashicorp 公司推出的開源工具。

server配置

pom引用

org.springframework.cloud

spring-cloud-starter-eureka-server

yml配置

#peereurekanodesupdateintervalms: 500

client配置

pom引用

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

yml配置

eureka:

client:

service-url:

defaultzone: http://localhost:10001/eureka

server配置:er

sion

.zip

或者ta

r−xv

fnac

os−s

erve

r−

version.zip 或者 tar -xvf nacos-server-

versio

n.zi

p或者t

ar−x

vfna

cos−

serv

er−version.tar.gz

cd nacos/bin

sh startup.sh -m standalone

client配置:

pom引用

org.springframework.cloud

spring-cloud-starter-alibaba-nacos-discovery

0.9.0.release

yml配置

spring:

name: nacos-demo

cloud:

nacos:

discovery:

server-addr: 127.0.0.1:8848

management:

endpoints:

web:

exposure:

include: '*'

server配置:

以單節點啟動

consul agent -advertise 127.0.0.1 -data-dir=/tmp/consul -server -bootstrap

client配置

pom引用

org.springframework.cloud

spring-cloud-starter-consul-discovery

2.1.1.release

yml配置

spring:

name: consul-provider

cloud:

consul:

host: 127.0.0.1

port: 8500

discovery:

register: true

service-name: consul-provider

維度

eureka

nacos

consul

社群生態

社群熱度高

社群熱度較低、中文文件多

社群熱度較高

效能8核16g服務端定時輪詢查詢更新,當服務數量過多(8000-10000)時,壓力過大

8核16g單個節點9000以上的連線時會出現硬體負載過高場景

暫無cap分布式特性

ap可用性以及分割槽容錯性;可用性:無主從節點,乙個節點掛了自動切換其他節點,但可能會導致不同的註冊中心節點的服務列表不一致,可以接受

ap或cp

cp:作為分布式集群來說,是cp

維護狀態

1.x停止維護;2.0版本閉源

近期才開源;只到0.9.0.release;

一直在跟著spring cloud維護,目前到2.1.1

重點功能,特點

1.springcloud-starter服務,開箱即用2.有控制台

1、支援springcloud 服務發現、配置管理2、有web ui控制台3、通過了大規模的效能測試4、註冊中心與配置中心

有控制台;缺點:暫時沒有對consul集群的配置方式,即服務無法註冊多個consul節點

註冊使用

service 註冊時向eureka server傳送自身服務資訊;service每30秒向eureka server續約服務;service 每30秒拉取服務列表至本地快取。

同樣是使用服務不斷上報心跳的方式保持在註冊中心的活躍性;服務發現。一、不斷從服務端查詢可用服務例項。二、從已變服務佇列中通知服務持有者的查詢任務,服務發生變更時更新本地服務列表。

既支援consul主動檢查服務的情況,也支援服務主動向consul傳送心跳報告自己的健康狀況。

其他k8s整合,dubbo整合均支援

eureka、nacos、consul均能支援微服務註冊及web ui控制台的最基礎的需求,但eureka當前停止開源、consul暫時不支援client配置註冊中心集群,按需選擇。

微服務 註冊中心的作用 微服務之註冊中心

一 概念 註冊中心這一概念在面向服務設計的架構中起著舉足輕重的作用,不論是在soa架構還是微服務架構之中,註冊中心的作用一句話概括就是存放和排程服務,實現服務和註冊中心,服務和服務之間的相互通訊。註冊中心可以說是微服務架構中的 通訊錄 它記錄了服務和服務位址的對映關係。在分布式架構中,服務會註冊到這...

微服務 Eureka註冊中心

我們來解決微服務的第一問題,服務的管理。服務中心對外提供服務,需要對外暴露自己的位址。而consumer 呼叫者 需要記錄服務提供者的位址。將來位址出現變更,還需要及時更新。這在服務較少的時候並不覺得有什麼,但是在現在日益複雜的網際網路環境,乙個專案肯定會拆分出十幾,甚至數十個微服務。此時如果還人為...

微服務中的註冊中心 Eureka

1 角色 1 eureka server 服務註冊中心 可以是乙個集群 對外暴露自己的位址給每個微服務使用 2 服務提供者 啟動後向 eurekaserver註冊自己資訊 位址 服務名 3 服務消費者 向 eurekaserver訂閱服務,eureka會將對應服務的所有提供者位址列表傳送給消費者,並...