一:Eureka自我保護
通過Renew來判斷這個微服務是否可用(通過發送心跳來判斷我們的微服務是否可用)
啟動自我保護條件一般情況下,服務在 Eureka 上注冊后,會每 30 秒發送心跳包,Eureka 通過心跳來判斷服務是否健康,同時會定期刪除超過 90 秒沒有發送心跳的服務。如下我們的服務都啟動著:我把serveice-product服務關了:(底下的紅字就是提示信息,它將這個service-product保護了起來,提示我們去檢查這個服務)①有兩種情況會導致 Eureka Server 收不到微服務的心跳微服務自身的原因微服務與 Eureka 之間的網絡故障server: port: 8763 #端口spring: application: name: eureka-server #應用名稱# 配置 Eureka Server 注冊中心eureka: server: enable-self-preservation: false #true: 開啟自我保護模式, false :關閉自我保護模式 eviction-interval-timer-in-ms: 60000 #清理間隔(單位:毫秒,默認是60*1000) instance: hostname: eureka03 #主機名,不配置的時候根據操作系統的主機名獲取 prefer-ip-address: true #是否使用ip地址注冊 instance-id: ${spring.cloud.client.ip-address}:${server.port} #ip port client: service-url: #注冊中心對外暴露的注冊地址 defaultZone: http://localhost:8761/eureka/
eureka: server: enable-self-preservation: false # true:開啟自我保護模式,false:關閉自我保護模式 eviction-interval-timer-in-ms: 60000 # 清理間隔(單位:毫秒,默認是 60*1000)
此時我關閉了service-product服務后(過一段時間):直接將我們的service-product下了
二:優雅停服
(如果我們下線了就會給我們的注冊中心發送信息,告訴下線了,從服務列表將我們這個服務剔除)
我們上面說的關閉保護功能,現在我們有了優雅停服就能區別是網絡問題還是我們故意關閉服務。 所以有了優雅停服就不需要關閉保護功能
配置了優雅停服以后,將不需要 Eureka Server 中配置關閉自我保護。本文使用 actuator 實現。①添加依賴(添加到我們服務提供者中)<!-- spring boot actuator 依賴 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>
配置:
server: port: 7070 #端口spring: application: name: service-product #應用名稱(集群下相同)#配置 Eureka Server 注冊中心eureka: instance: prefer-ip-address: true #是否使用ip地址注冊 instance-id: ${spring.cloud.client.ip-address}:${server.port} # ip ; port client: service-url: #設置服務注冊中心地址 defaultZone: http://localhost:8761/eureka#度量指標監控與健康檢查management: endpoints: web: exposure: include: shutdowm #開啟shutdown 端點訪問 endpoint: shutdown: enabled: true #開啟shutdownn 實現優雅停服
一般的沒有下面這個endpoint,這個是強調,一般不能將這個停了,所以這里進行了確認
開啟:
優雅停服使用 POST 請求訪問:http://localhost:7070/actuator/shutdown 效果如下三:Eureka安全認證
我們訪問Eureka列表的時候是要有安全認證的,還有就是我們將服務注冊到Eureka的時候也是要進行安全認證的
①添加依賴(添加到我們的Eureka中)
<!-- spring boot security 依賴 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>
②配置文件
注冊中心配置安全認證spring: # 安全認證 security: user: name: root password: 123456修改訪問集群節點的 url(Eureka,生產者與消費者都需要加上用戶名加和密碼):
③啟動倆個Eureka(這個時候倆個都有錯(自己也整了半天))
這個上面也是沒有注冊上去:
為什么會出現上面的問題呢? 就是CSRF過濾
④過濾CSRF
Eureka 會自動化配置 CSRF 防御機制,Spring Security 認為 POST, PUT, and delete http methods 都是有風險的,如果這些 method 發送過程中沒有帶上 CSRF token 的話,會被直接攔截并返回 403 forbidden。官方給出了解決的方法,具體可以參考 spring cloud issue 2754,里面有大量的討論,這里提供兩種解決方案。首先注冊中心配置一個 @EnableWebSecurity 配置類,繼承org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter,然后重寫 configure 方法。在每個注冊中心都要寫一個類,來進行寫這個:這樣就ok了:
這個時候開啟我們的生產者和消費者(都是可以的):
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
QQ空間認證申請快速通過方法?1.在電腦端打開空間網站,輸入賬號密碼,登錄。點擊個人空間界面右上角的【設置】,然后點擊【修改信息】。如何開啟QQ空間實名認證?打開空間實名認證的步驟如下:1.在電腦上打開自己的空間,點擊 "設置 "圖標,然后單擊 "修改信息進入下一頁。2.找到 "實名認證 "鏈接在 "個人信息 "點擊它,然后輸入 "實名認證 "設置界面。3.填寫 "基本信息 ":基本信息與 "朋友...
碧歐泉護膚品效果怎么樣?碧歐泉護膚品效果不錯。碧歐泉是歐萊雅集團旗下的高級護膚品牌。其所有產品都含有獨特的礦泉活細胞因子生命浮游生物?活精,這也是他們的核心組成部分。碧歐泉補水很好,性價比還是很高的。歐碧泉好用嗎?蘭蔻的護膚品都是針對中年人的皮膚問題,適合年輕人的卻很少。但是,你可以放心使用他的化妝品。顏色時尚而輕盈,尤其是高睫毛絕對是NO1。全球首款高睫毛由蘭蔻生產。我們同歲。試過很多化妝品,我...
sony油壺和香水瓶哪個好?香水瓶不錯。索尼-KW1神器采用香水瓶的設計風格,并有白色、粉色、紫色和綠色,以及四種珠光顏色可供選擇。鏡頭的設計融入了施華洛世奇元素,高貴典雅,采用透明保護殼,可以起到一定的保護作用。也更像是香水瓶的蓋子,設計簡潔時尚。這款神器整體設計小巧,僅重120g,攜帶方便。索尼香水瓶和魚雷哪個高端?索尼香水瓶和索尼魚雷都是mp3產品。如果看價格,魚雷更高檔。索尼的香水瓶配什么...