最近纔開始到了不得不學微服務的分佈式架構的階段了,最近開始學習SpringCloud H版(當前最新版),首先從服務註冊中心Eureka學起,該博文主要是自己的一個學習記錄,有不對的地方望大家不吝賜教!!!
一:首先是springCloud和springBoot的版本對應問題:
二:學習springCloud需要掌握的東東,也忒多了:×是當前已經慢慢淘汰的技術。
三:eureka 服務註冊中心,包含一個客戶端(消費者和提供者均屬於eureka的客戶端),一個服務端 (提供服務註冊服務)
當前最新版 H版 直接明瞭可以看出來是服務端還是客戶端,不像之前區分不出來,
<!--eureka-server 2020.02最新版的eureka服務【服務端】--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
<!--eureka-server 2020.02最新版的eureka服務【客戶端】--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
四:註冊中心、服務消費者、服務提供者三者之前的關係
五:eureka原理解析:
其中開始學習的時候,我對第4點沒有理解,其中指的'服務別名'是什麼?
---答:是服務提供者的實例,即就是微服務名稱;在集羣非單機中,無論有幾個服務提供者,這個實例都是一樣的。
所以接着引出一個問題,那怎樣知道消費者調用的是那個提供者(如果有多個提供者)?
---答:如有兩個提供者8001和8002,就是採用的輪詢,進行接口的調用,一會走8001這個提供者,一會走8002。
具體遠程調用是通過RestTemplate模板進行調用的。
六:eureka客戶端之消費者主要代碼:有幾個重要的地方,都在圖片中。
七:eureka客戶端之提供者的yml,例子中有兩個提供者,只展示了一個:
八:eureka服務端yml,例子中有兩個服務端,只展示了一個:
九:架構圖:7001、7002是兩個服務端(組成集羣),80是eureka客戶端之消費者,8001、8002是客戶端之提供者(組成集羣)