【Eureka篇三】Eureka如何管理服務調用(6)


  • 在Eureka Client啟動時,將自身的服務的信息發送到Eureka Server。然后進行2調用當前服務器節點中的其他服務信息,保存到Eureka Client中。當服務間相互調用其它服務時,在Eureka Client中獲取服務信息(如服務地址,端口等)后,進行第3步,根據信息直接調用服務。(注:服務的調用通過http(s)調用)
  • 當某個服務僅需要調用其他服務,自身不提供服務調用時。在Eureka Client啟動后會拉取Eureka Server的其他服務信息,需要調用時,在Eureka Client的本地緩存中獲取信息,調用服務。
  • Eureka Client通過向Eureka Serve發送心跳(默認每30秒)來續約服務的。 如果客戶端持續不能續約,那么,它將在大約90秒內從服務器注冊表中刪除。 注冊信息和續訂被復制到集群中的Eureka Serve所有節點。 以此來確保當前服務還“活着”,可以被調用。
  • 來自任何區域的Eureka Client都可以查找注冊表信息(每30秒發生一次),以此來確保調用到的服務是“活的”。並且當某個服務被更新或者新加進來,也可以調用到新的服務。

Eureka Server

  • 提供服務注冊:各個微服務啟動時,會通過Eureka Client向Eureka Server進行注冊自己的信息(例如服務信息和網絡信息),Eureka Server會存儲該服務的信息。
  • 提供服務信息提供:服務消費者在調用服務時,本地Eureka Client沒有的情況下,會到Eureka Server拉取信息。
  • 提供服務管理:通過Eureka Client的Cancel、心跳監控、renew等方式來維護該服務提供的信息以確保該服務可用以及服務的更新。
  • 信息同步:每個Eureka Server同時也是Eureka Client,多個Eureka Server之間通過P2P復制的方式完成服務注冊表的同步。

Eureka Client

  • Eureka Client是一個Java客戶端,用於簡化與Eureka Server的交互。並且管理當前微服務,同時為當前的微服務提供服務提供者信息。
  • Eureka Client會拉取、更新和緩存Eureka Server中的信息。即使所有的Eureka Server節點都宕掉,服務消費者依然可以使用緩存中的信息找到服務提供者。

Eureka Client在微服務啟動后,會周期性地向Eureka Server發送心跳(默認周期為30秒)以續約自己的信息。如果Eureka Server在一定時間內沒有接收到某個微服務節點的心跳,Eureka Server將會注銷該微服務節點(默認90秒)。

 


免責聲明!

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



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