日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringCloud2020 学习笔记(十五)Spring Cloud Eureka 自我保护机制 关闭

發布時間:2023/12/20 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringCloud2020 学习笔记(十五)Spring Cloud Eureka 自我保护机制 关闭 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringCloud2020 學習筆記(十五)Spring Cloud Eureka 自我保護機制

  • 我使用spring boot 2.2.2
  • 我使用spring cloud Hoxton.SR1
  • 我使用spring cloud alibaba 2.1.0.RELEASE
  • 一.說人話就是
  • 二.官方對于自我保護機制的定義:
  • 三.自我保護機制的工作機制是:
  • 四.自我保護開關
  • 五.重啟測試
  • 六.生產環境建議不要關閉自我保護

我使用spring boot 2.2.2

我使用spring cloud Hoxton.SR1

我使用spring cloud alibaba 2.1.0.RELEASE

為什么使用這個三個版本,是有講究的;spring boot 2.2.2,spring cloud Hoxton.SR1,spring cloud alibaba 2.1.0.RELEASE

一.說人話就是

eureka關閉了自我保護機制后,遇到網絡波動等不可控因素導致微服務心跳沒及時響應時,會立即從eureka中剔除微服務,相反,eureka打開了自我保護機制,微服務還能有時間緩沖一下,待心跳從新連接上后,繼續提供服務

二.官方對于自我保護機制的定義:

自我保護模式正是一種針對網絡異常波動的安全保護措施,使用自我保護模式能使Eureka集群更加的健壯、穩定的運行。

三.自我保護機制的工作機制是:

如果在15分鐘內超過85%的客戶端節點都沒有正常的心跳,那么Eureka就認為客戶端與注冊中心出現了網絡故障,Eureka Server自動進入自我保護機制,此時會出現以下幾種情況:

1.Eureka Server不再從注冊列表中移除因為長時間沒收到心跳而應該過期的服務。
2.Eureka Server仍然能夠接受新服務的注冊和查詢請求,但是不會被同步到其它節點上,保證當前節點依然可用。
3.當網絡穩定時,當前Eureka Server新的注冊信息會被同步到其它節點中。

因此Eureka Server可以很好的應對因網絡故障導致部分節點失聯的情況,而不會像ZK那樣如果有一半不可用的情況會導致整個集群不可用而變成癱瘓。

四.自我保護開關

Eureka自我保護機制,通過配置 eureka.server.enable-self-preservation 來打開(true默認)/禁用(false)自我保護機制,默認打開狀態,建議生產環境打開此配置。

在eureka服務端操作

server:#關閉自我保護機制,保證不可用服務被及時踢除enable-self-preservation: false#續期時間,即掃描失效服務的間隔時間(缺省為60*1000ms)eviction-interval-timer-in-ms: 2000

完整yml配置

server:port: 7001eureka:instance:#eureka服務端的實例名稱#hostname: localhosthostname: eureka7001.comclient:#false表示不向注冊中心注冊自己。register-with-eureka: false#false表示自己端就是注冊中心,我的職責就是維護服務實例,并不需要去檢索服務fetch-registry: falseservice-url:#設置與Eureka Server交互的地址查詢服務和注冊服務都要依賴這個地址#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/#單機就是7001自己#defaultZone: http://eureka7001.com:7001/eureka/#集群指向其它eurekadefaultZone: http://eureka7002.com:7002/eureka/server:#關閉自我保護機制,保證不可用服務被及時踢除enable-self-preservation: false#續期時間,即掃描失效服務的間隔時間(缺省為60*1000ms)eviction-interval-timer-in-ms: 2000

在eureka客戶端操作

#Eureka客戶端向服務端發送心跳的時間間隔,單位為秒(默認是30秒)lease-renewal-interval-in-seconds: 1#Eureka服務端在收到最后一次心跳后等待時間上限,單位為秒(默認是90秒),超時將剔除服務lease-expiration-duration-in-seconds: 2

完整yml配置文件

server:port: 8001spring:application:name: cloud-payment-servicedatasource:type: com.alibaba.druid.pool.DruidDataSource # 當前數據源操作類型driver-class-name: org.gjt.mm.mysql.Driver # mysql驅動包url: jdbc:mysql://localhost:3306/springcloud2020?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: rootmybatis:mapperLocations: classpath:mapper/*.xmltype-aliases-package: cn.cookily.springcloud.entities # 所有Entity別名類所在包eureka:client:#表示是否將自己注冊進eurekaServer 默認為trueregister-with-eureka: true#是否從eurekaServer抓取已有的注冊信息,默認為true,單節點無所謂,集群必須設置為true才能配合ribbon使用負載均衡fetch-registry: trueservice-url:#單機版#defaultZone: http://localhost:7001/eureka# 集群版defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eurekainstance:instance-id: payment8001 #注冊中心看到的實例名prefer-ip-address: true #訪問路徑可以顯示IP地址#Eureka客戶端向服務端發送心跳的時間間隔,單位為秒(默認是30秒)lease-renewal-interval-in-seconds: 1#Eureka服務端在收到最后一次心跳后等待時間上限,單位為秒(默認是90秒),超時將剔除服務lease-expiration-duration-in-seconds: 2

五.重啟測試

1.先啟動eureka7001

2.在啟動payment8001

3.我們人為模擬下payment8001失聯(我們直接關閉這個服務)

六.生產環境建議不要關閉自我保護

項目地址: https://github.com/cookily/cloud2020.git

總結

以上是生活随笔為你收集整理的SpringCloud2020 学习笔记(十五)Spring Cloud Eureka 自我保护机制 关闭的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。