1.服務(wù)注冊與發(fā)現(xiàn)
1.1創(chuàng)建服務(wù)注冊中心
????? ? ? ?需要使用到的組件時:SpringCloud Netflix的Eureka烛占,eureka是一個服務(wù)注冊和發(fā)現(xiàn)模塊拯啦。
(1)創(chuàng)建項目
? ? 1.創(chuàng)建maven工程
? ? 2.maven工程右鍵創(chuàng)建2個module:一個作為服務(wù)注冊中心郎逃,即Eureka Server,另一個作為Eureka Client序目。
3 啟動一個服務(wù)注冊中心犀斋,只需要一個注解@EnableEurekaServer奏篙,這個注解需要在springboot工程的啟動application類上加:
@SpringBootApplication
@EnableEurekaServer? ? ? //啟動一個服務(wù)注冊中心
public class Demo1Eureka1Application {
????public static void main(String[] args) {
????SpringApplication.run(Demo1Eureka1Application.class, args);
????}
}
4.eureka Server
? ?eureka?是一個高可用的組件,它沒有后端緩存图柏,每一個實例注冊后需要向注冊中心發(fā)送心跳(因此可以再內(nèi)存中完成)序六,默認情況下eureka Server也是Client任连,必須要指定一個Server蚤吹。
????eureka Server配置文件application.yml:
?通過register-with-eureka=false和fetch-registry=false標識為Server
eureka server 是有界面的,啟動工程,打開瀏覽器訪問:?http://localhost:8080/
2.創(chuàng)建一個服務(wù)提供者EurekaClient
當Client向Server注冊時随抠,會提供一些元數(shù)據(jù)裁着,例如:主機、端口拱她、URL二驰、主頁等。
服務(wù)中心Server從每個服務(wù)提供者Client實例獲取到心跳信息秉沼,如果心跳超時桶雀,則將該實例從注冊中心剔除。
創(chuàng)建Client? Module工程
通過注解@EnableEurekaClient 表明自己是一個eurekaclient.
僅僅@EnableEurekaClient是不夠的唬复,還需要在配置文件中注明自己的服務(wù)注冊中心的地址矗积,application.yml配置文件如下:
注:需要指明spring.application.name,這個很重要,這在以后的服務(wù)與服務(wù)之間相互調(diào)用一般都是根據(jù)這個name 敞咧。
啟動工程棘捣,打開http://localhost:8080,即eureka server 的網(wǎng)址:
發(fā)現(xiàn)新增的服務(wù)提供者Client已經(jīng)注冊在服務(wù)中了休建,服務(wù)名為CLIENT-ONE ,端口為9090
這時打開?http://localhost:9090/index?name=123乍恐,你會在瀏覽器上看到 :
源碼:https://github.com/youqichun/springcloud-study-eureka/tree/master
四、參考資料