微服務化是當前一大趨勢,註冊中心則是微服務最基礎的元件,是之前組內安排的任務,於是把結果分享出來,本文對當前業界比較流行的微服務元件進行了調研,並作出了總結。
當前對微服務元件的調研維度如下:社群生態熱度、易用性、效能、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會將對應服務的所有提供者位址列表傳送給消費者,並...