天天看點

springcloud-高可用部署

springcloud-高可用部署

1.場景描述

前端時間隻簡單介紹了下springcloud的高可用方案(springcloud高可用方案),今天詳細介紹下如何實施springcloud的高可用部署。

2.解決方案

2.1 架構方案

2.1.1 架構圖

2.1.2 通路位址

(1)Gateway通路位址:

http://10.192.168.11:9000/client/ (2)Client位址: http://10.192.168.14:9001 http://10.192.168.14:9002/ http://10.192.168.15:9003/ http://10.192.168.15:9004/ (3)Eureka位址: http://10.192.168.12:8761/ http://10.192.168.13:8761/

2.1.3 方案說明

(1)從springcloud架構中,可以了解到,注冊中心和網關會成為單點故障率比較高的點,有可能會成為瓶頸。

(2)高可用方案大概思路是:部署多個注冊中心和多個應用,實作單點故障後自動切換,無須人工幹預。(網關高可用最後有說明)

2.2 注冊中心部署

需修改配置檔案:application.yml。

2.2.1 注冊中心配置

(1)注冊中心1(10.192.168.12)

spring:

application:

name: registry           

server:

port: 8761

eureka:

client:

register-with-eureka: false
service-url:
  defaultZone: http://10.192.168.13:8761/eureka           

(2)注冊中心2(10.192.168.13)

name: registry           
register-with-eureka: false
service-url:
  defaultZone: http://10.192.168.12:8761/eureka           

2.2.2 說明

重點是defaultZone這個配置,注冊中心1要作為用戶端配置注冊中心2的服務位址,注冊中心2要作為用戶端配置注冊中心1的服務位址,這樣就實作了互為注冊,并且還有最重要的一點,注冊的用戶端也會在注冊中心之間互相同步。

2.3 應用部署

2.3.1 應用配置檔案

需修改配置檔案:application.yml

client:
    service-url:
        defaultZone:  http://10.66.211.12:8761/eureka/,http://10.66.211.13:8761/eureka/
    healthcheck:
        enabled: true
    instance:
        lease-expiration-duration-in-seconds: 30
        lease-renewal-interval-in-seconds: 10
    registry-fetch-interval-seconds: 5           
port: 9001           
application:
     name: client           

說明:

重點還是defaultZone這項配置,這裡要寫成兩個注冊中心的位址,以逗号分開,這樣一台出現單點故障的話,另一台還能正常通路,并且故障注冊中心恢複後,會自動從另一台注冊中心同步注冊用戶端資訊。

2.3.2 應用部署

(1)将注冊服務用戶端在多台伺服器部署,同一台伺服器的話,以端口号區分下,隻部署一台的話,可以使用預設端口号。

(2)本項目是使用了在10.192.168.14和10.192.168.15伺服器上都部署了兩個應用執行個體。

其中項目配置檔案application.yml如上,重點說明:

application:
     name: client           

其中:client是注冊的名稱,部署的執行個體都要是這個,路由會根據名稱來查找應用,例如本項目部署了4個應用執行個體,預設實行輪詢通路的方式。

2.4 高可用通路

通路位址(路由位址):

請求會在四個應用執行個體(9001-9004)之間進行輪詢通路,這樣就實作了注冊中心與應用用戶端的高可用。

2.5 關于網關高可用

關于網關的高可用,我們沒有實際部署,不過可以參看greenplum的高可用方案(Greenplum高可用真的高嗎?),結合keepalived來實作網關的高可用,參考架構圖

原文位址

https://www.cnblogs.com/ruanjianlaowang/p/11211052.html