1.eureka做什麼的?論述一下
eureka是cs架構,而服務消費者和服務提供者都屬於eureka-client(客戶端),使用元件eureka元件都需要匯入eureka啟動器和依賴,導完後才可以跟服務埠進行互動,服務提供者和服務消費者將url位址資訊提交給eureka,消費者通過註冊名稱獲取每乙個提供者的位址資訊,消費者通過負載均衡(隨機或者輪循的方式),獲取位址後遠端呼叫。
eureka可以感知服務提供者的心跳來判斷服務提供者的存活狀態(心跳:服務提供者每隔30秒向eureka傳送一次請求),如果90秒內eureka沒有接收到服務提供者的請求,eureka就會服務剔除(每隔60秒剔除一次,剔除到一定程度便不在剔除),同樣服務消費者每隔30秒拉取一次提供者的資訊。存在一種現象(微服務拉取位址資訊很長時間,因有可能有些服務提供者死掉了,等待重新拉取後就好了)。
2.eureka的作用
a.消費者該如何獲取服務提供者具體資訊?
*服務提供者啟動時向eureka註冊自己的資訊
*eureka儲存這些資訊
* 消費者根據服務名稱向eureka拉取提供者資訊
b.如果有多個服務提供者,消費者該如何選擇?
*服務消費者利用負載均衡演算法,從服務列表中挑選乙個
c.消費者如何感知服務提供者健康狀態?
*服務提供者會每隔30秒向eurekaserver傳送心跳請求,報告健康狀態
*eureka會更新記錄服務列表資訊,心跳不正常會被剔除
消費者就可以拉取到最新的資訊
#eureka服務端jar包中包含了客戶端的jar包 為什麼?---------為了實現eureka服務端集群下服務端內容同步
3.eureka實現步驟? 技術的使用方式?(一)搭建註冊中心
在專案中建立模組eureka-server
1.在pom中匯入依賴 引入spring-cloud-starter-netflix-eureka-server的依賴
org.springframework.cloud2.編寫啟動類,新增@enableeurekaserver註解spring-cloud-starter-netflix-eureka-server
server:元件eureka搭建後訪問,http://localhost:10086/port: 10086
spring:
# 給當前服務起名稱(不能有下劃線,否則駝峰對映會造成名稱錯誤)
name: eureka-server
eureka:
# 配置eureka客戶端要連線的服務端資訊
client:
service-url:
defaultzone:
# 客戶端不用註冊自己到服務端
register-with-eureka: false # 不註冊自己
# 客戶端不需要從服務端拉取任何資訊
fetch-registry: false #不拉取服務本eureka服務中的服務資訊
(二)服務註冊
1.引入eureka-client依賴
把服務端的資訊傳給eureka元件中去,在其依賴中匯入eureka客戶端jar包
org.springframework.cloud2.spring-cloud-starter-netflix-eureka-client
spring:name: userservice
eureka:(不加或者加後面四行**的區別顯示):client:
service-url:
defaultzone:
instance: # 在eureka中顯示服務的ip位址
ip-address: 127.0.0.1 # 配置伺服器ip位址
prefer-ip-address: true # 更傾向於使用ip,而不是host名
instance-id: $:$ # 自定義例項的id
(三)服務發現
org.springframework.cloudspring-cloud-starter-netflix-eureka-client
spring:給resttemplate新增@loadbalanced註解name: orderservice
eureka:
client:
service-url:
defaultzone:
修改order-service服務中的cn.itcast.order.service包下的orderservice類中的queryorderbyid方法。修改訪問的url路徑,用服務名代替ip、埠:
spring會自動幫助我們從eureka-server端,根據userservice這個服務名稱,獲取例項列表,而後完成負載均衡。
vue元件學習(下)
上次我們說了什麼是元件,和它的基本應用,下面我們來看一下我自認為的高階內容。首先寫好基本結構,建立乙個子元件 當然我們要注意一種特殊情況,如果我們的自定義標籤沒有內容,我們可以在slot中加入內容為預設內容,但是如果我們設定了預設內容,而我們的自定義標籤也不是空的,那麼自定義標籤裡的內容會替代我們的...
Zookeeper和Eureka的區別!
著名的cap理論指出,乙個分布式系統不可能同時滿足c 一致性 a 可用性 和p 分割槽容錯性 由於分割槽容錯性p在分布式系統中必須要保證的,因此我們只能在a和c之間進行權衡。因此 zookeeper保證的是cp,eureka則是ap。zoopkeeper保證cp 當向註冊中心查詢服務列表時,我們可以...
ZooKeeper和Eureka的區別
1 cap理論 乙個分布式系統不可能同時滿足c 一致性 a 可用性 和p 分割槽容錯性 zookeeper保證的是cp,而eureka則是ap。2 zookeeper保證cp 當註冊中心查詢服務列表時,我們可以容忍註冊中心返回的是幾分鐘以前的註冊資訊,但是不能接受服務直接down掉不可用。也就是說,...