1:SpingCloud註冊中心搭建
注:學習前提需要學習過SpringBoot,搭建完成後可能控制檯有bug。是因爲沒向自身註冊。可以忽略。
yml配置
spring:
application:
name: eureka-server
server:
port: 2001
eureka:
server:
#eureka 的自我保護狀態 關閉,即不保留註冊信息。開啓則保留註冊信息
enable-self-preservation: false
instance:
#這裏是設置ip變換這個名字。但是還要去修改hosts文件
hostname: eureka1 #eureka 集羣服務器之間,通過 hostname 來區分
client:
#不向自身註冊
register-with-eureka: false
#不從自身拉取註冊信息
fetch-registry: false
#eureka.instance.lease-expiration-duration-in-seconds
#最後一次心跳後,間隔多久認定微服務不可用,默認90
hosts文件配置
C:\Windows\System32\drivers\etc\hosts 看看你自己的hosts文件配置,有可能我們路徑不一樣
127.0.0.1 eureka1
127.0.0.1 eureka2
啓動類上加個註解
啓動後
http://eureka1:2001/ 能成功打開即搭建成功
2:註冊中心高可用搭建
注:只是學習如何搭建註冊中心,可先不用學習此章節。
yml配置
spring:
application:
name: eureka-server
#server:
# port: 2001
eureka:
server:
enable-self-preservation: false #不保留註冊信息。
# instance:
# hostname: eureka1
# client:
# register-with-eureka: false
# fetch-registry: false
---
spring:
profiles: eureka1 # 這裏是配置程序啓動需要加那段下配置信息。看後面啓動介紹
server:
port: 2001
# eureka1 向 eureka2 註冊
eureka:
instance:
hostname: eureka1
client:
service-url: #互相註冊
defaultZone: http://eureka2:2002/eureka
---
spring:
profiles: eureka2
server:
port: 2002
# eureka2 向 eureka1 註冊
eureka:
instance:
hostname: eureka2
client:
service-url: #互相註冊
defaultZone: http://eureka1:2001/eureka
啓動參數設置
–spring.profiles.active=eureka1
–spring.profiles.active=eureka2
這裏其實是指定上面yml的配置信息。上面有個可以拷貝的按鈕。- 號旁邊
啓動
http://eureka1:2001/ 訪問可以看到eureka2的註冊信息
http://eureka2:2002/ 訪問可以看到eureka1的註冊信息
結語
eureka 是符號CAP理論裏面的,高可用性,和容錯性。所以你可以搭建多臺。前提你得有臺16g的電腦。
3eureka 理解
保存微服務服務器的地址列表
服務啓動時,向註冊中心註冊自己的地址,同時拉取地址列表到本地
默認30秒拉取一次
每30秒發送一次心跳數據
eureka服務器端,90秒沒有收到心跳,認爲服務不可用
當服務不可用,會進入保護模式,保留不可用的服務地址不剔除
enable-self-preservation: false #不保留註冊信息。即關閉保護
服務有可能只是因爲網絡問題無法連接eureka
而服務本身沒有問題
等待網絡恢復後可以繼續提供服務