2.eureka許可權認證-額外的安全性
eureka單機模式下.我們可以看出.在分布式應用開發下.單機模式並不能適用於生產環境.
前言: 在使用eureka過程中.client會定時連線eureka server.獲取服務登錄檔中的資訊並快取到本地.微服務在消費遠端服務時總是先使用本地快取中的資料.那麼.即便是eureka server發生了宕機.也不會影響到服務之間的呼叫.但是如果某個微服務也出現了不可用的情況.eureka client中的快取將不會被更新.就會影響到服務的呼叫.甚至影響到了整個應用系統.於是.集群模式便應運而生
注:在server1中,我將defaultzone修改為server2的位址.server2的defaultzone修改為server1.使得兩個server之間相互註冊複製spring:
profiles:
active: server2
---spring:
profiles: server1
server:
port: 8761
eureka:
instance:
hostname: $
client:
register-with-eureka: true #是否將自己註冊要服務中心去,預設為true.
fetch-registry: true #表示是否從eureka server中獲取註冊資訊.預設為true
service-url:
defaultzone: http://server2:8762/eureka/ #查詢服務和註冊服務都需要依賴這個位址.預設是http://localhost:8761/eureka,多個位址使用,分隔
---spring:
profiles: server2
server:
port: 8762
eureka:
instance:
hostname: $
client:
register-with-eureka: true #是否將自己註冊要服務中心去,預設為true.
fetch-registry: true #表示是否從eureka server中獲取註冊資訊.預設為true
service-url:
defaultzone: http://server1:8761/eureka/ #查詢服務和註冊服務都需要依賴這個位址.預設是http://localhost:8761/eureka,多個位址使用,分隔
2.配置hosts檔案.增加主機名稱
同時修改我們系統的host檔案,我用的是win7,在c:\windows\system32\drivers\etc\中
3.分別打包server1和server2,各自啟動.第乙個啟動的jar將會丟擲cannot execute request on any known server異常.這個是因為eureka要相互註冊.而第一位啟動的jar因為沒有可以正常返回響應的服務.#在最底下插入.如果已存在127.0.0.1的話.只需要在後面追加server1 server2即可
127.0.0.1 server1 server2
我這裡的defaultzone只向server1的eureka server註冊了.而兩個eureka server的首頁都出現了.這就是相互集群模式下的複製了…這裡我們也可寫上所有的eureka server的位址.用,隔開即可server:
port: 8080
spring:
name: micro-provider-user #指定註冊到eureka server上的應用名稱
prefer-ip-address: true #表示將自己的ip位址註冊到eureka server.如果不設定改屬性.或將該屬性設定為false,則表示註冊微服務所在作業系統的hostname到eureka server
1.這裡需要通過spring-security來實現.首先引入spring-boot-starter-security依賴
2.重啟eureka server.訪問localhost:8762/如圖可見org.springframework.boot
spring-boot-starter-security
因為security的密碼預設是隨機生成的.需要我們手動配置使用者名稱和密碼
3.因為我們eureka server增加了許可權認證.那麼我們的client向服務進行註冊的時候.defaultzone就不能再和之前一樣了.我們需要把使用者和密碼新增到我們的defaultzone上去,如下所示.security:
user:
name: user #自定義的使用者民
password: root #自定義的密碼
defaultzone: http://user:root@localhost:8762/eureka/
改完之後問題又來了…我的微服務死活註冊不上eureka server.網上說要開啟security.bisic.enable.但是新版的security裡面已經禁用這個配置了…不慌.問題不大.新增乙個securityconfig類,繼承securityconfigureradapter,重寫configure方法.開啟這個配置
@configuration
public class securityconfig extends websecurityconfigureradapter
}
.重啟eureka和微服務.控制台輸出,嗯.註冊成功了.@configuration
public class securityconfig extends websecurityconfigureradapter
}
Eureka服務註冊與發現
註冊eureka的服務非常的簡單,只需要引入spring cloud starter netflix eureka client的jar包即可。org.springframework.cloud spring cloud starter netflix eureka client server po...
EureKa 服務註冊與發現
eureka資訊共享乙份登錄檔,至少乙個伺服器存在就可正常執行 三點注意 1.eureka server 支援跨機房的高可用,不同區域伺服器可以相互註冊,同一區域伺服器也可以兩兩註冊來達到高可用,至少乙個伺服器存在就可正常執行。2.eureka server 資料一致性級別是最終一致性,他相比強一致...
Eureka服務註冊與發現
eureka基礎知識 1.什麼是服務治理?springcloud 封裝了netflix 公司開發的eureka模組來實現服務治理。在傳統的rpc 遠端呼叫框架中,管理每個服務與服務之間依賴關係比較複雜,管理比較複雜,所以需要使用服務治理,管理服務與服務之間依賴關係,可以實現服務呼叫 負載均衡 容錯等...