系列文章(更新ing):
「 從0到1學習微服務SpringCloud 」01 一起來學呀!
Spring Cloud Eureka
基於Netflix Eureka做了二次封裝(Spring Cloud Eureka並不是從零開始做出來的,而是對Netflix Eureka做了二次封裝)
兩個組件組成
Eureka Server:Eureka服務器,註冊中心
Eureka Client:Eureka客戶端,各個微服務作爲客戶端,向Eureka服務器進行註冊
Eureka Server的使用
1.使用IDE快速新建Eureka Server項目
2.啓動類加上@EnableEurekaServer
註解,說明自己是Eureka服務器
3.Eureka配置
server:
port: 8761
eureka:
client:
#表示是否將自己註冊到Eureka Server, 默認爲true
#由於當前應用就是Eureka Server, 因此設爲 false
register-with-eureka: false
#表示是否從Eureka Server獲取註冊信息,默認爲true。
#如果這是一個單點的 Eureka Server,不需要同步其他節點的數據,可以設爲false。
fetch-registry: false
#註冊中心地址
service-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
#服務名稱
name: eureka-server
注意
:
這兩個配置需要設置爲false,否則會報一下錯誤
register-with-eureka: falsefetch-registry: false
如下圖:
4.打開圖形界面,http://localhost:8761/
Eureka服務器啓動完畢
Eureka Client的使用
Eureka註冊中心啓動完了,這時就需要將服務註冊到上面了
1.使用IDE快速新建Eureka Client項目
2.啓動類加上@EnableEurekaClient
註解,說明自己是Eureka客戶端
3.Eureka配置
server:
port: 8861
eureka:
client:
#註冊中心地址
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
spring:
application:
name: eureka-client
4.啓動該程序,同時啓動上面的Eureka Server程序
在Eureka註冊中心上,可以看到,eureka-client已經被註冊上去了
Eureka高可用
現在Eureka是個單點的,但是服務器可能會掛掉,這是很危險的,所以需要實現Eureka高可用,新增Eureka Server,現在就來新增一個Eureka Server
1.配置中fetch-registry: false
的配置去掉或註釋掉
因爲現在不是單節點了,是多節點,需要同步其他節點的數據
去掉或註釋掉#fetch-registry: false
2.idea中複製應用
並分別設置分別設置應用名EurekaServerApplication1,默認端口8761
-Dserver.port=8761
另一個應用名EurekaServerApplication2,默認端口8762
-Dserver.port=8762
3.配置server1,並啓動程序EurekaServerApplication1
#啓動端口可註釋掉,VM參數中已配置
#server:
# port: 8761
eureka:
client:
#表示是否將自己註冊到Eureka Server, 默認爲true
#由於當前應用就是Eureka Server, 因此設爲 false
register-with-eureka: false
#註冊中心地址
service-url:
#設置成server2的端口號,相互註冊
defaultZone: http://localhost:8762/eureka/
spring:
application:
#服務名稱
name: eureka-server1
4.配置server2,並啓動程序EurekaServerApplication2
#啓動端口可註釋掉,VM參數中已配置
#server:
# port: 8761
eureka:
client:
#表示是否將自己註冊到Eureka Server, 默認爲true
#由於當前應用就是Eureka Server, 因此設爲 false
register-with-eureka: false
#註冊中心地址
service-url:
#設置成server2的端口號,相互註冊
defaultZone: http://localhost:8761/eureka/
spring:
application:
#服務名稱
name: eureka-server2
5.配置Eureka Client的註冊中心地址
service-url:
#這裏同時向兩個註冊中心註冊
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
6.分別打開兩個Eureka Server的圖形界面 http://localhost:8761
和http://localhost:8762
,可以發現,Eureka Client已同時註冊到兩個註冊中心上面
此時,已實現了高可用,無論哪一個Eureka Server掛掉了,服務都可用。
3個Eureka Server也是同理,兩兩相互註冊即可,如下圖
建議:實際開發中,建議使用至少2個Eureka Server以實現高可用
分享給你的朋友!
THANDKS
- End -
一個立志成大腿而每天努力奮鬥的年輕人
伴學習伴成長,成長之路你並不孤單!