spring cloud 比較合理配置
搭建一個demo很簡單但是要在生產線上用的配置還需要慎重考慮和佈置某些屬性的值,以下部署值僅供參考。
註冊中心:
這個主要是 關注檢查註冊到註冊中心的服務時間,這個會影響部署時候上線和下線 客戶端的感知時間。感知時間是你自己專案的合理時間就好。這個配置適合中小型規模的專案
yml格式:
server:
port: 7002
spring:
application:
name: eureka1
eureka:
client:
serviceUrl:
defaultZone: http://localhost:7001/eureka/ (另一個註冊中心的埠,搭建高可用)
server:
## 中小規模下,自我保護模式坑比好處多,所以關閉它
enableSelfPreservation: false
## 主動失效檢測間隔,配置成5秒
evictionIntervalTimerInMs: 5000
## 禁用readOnlyCacheMap
useReadOnlyResponseCache: false
instance:
## 心跳間隔,5秒
leaseRenewalIntervalInSeconds: 5
## 沒有心跳的淘汰時間,10秒
leaseExpirationDurationInSeconds: 10
閘道器zuul配置:
這個主要是閘道器請求時的超時時間,和請求數量最大值為 5000
server:
port: 8888
spring:
application:
name: gateway-service-zuul
eureka:
client:
serviceUrl:
defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/
zuul:
prefix: /appservice
host:
##url請求方式 超時時間設定
connection-timeout-millis: 10000
socket-timeout-millis: 60000
##最大請求量,預設為100
semaphore:
max-semaphores: 5000
##serverId請求方式 超時時間設定
ribbon:
ReadTimeout: 10000
SocketTimeout: 10000
服務端和消費端:
主要注意心跳時間和快取的時間,這個也會影響上線和下線客戶的感知時間
server:
port: 9003
spring:
application:
name: producer-2
eureka:
client:
serviceUrl:
defaultZone: http://localhost:7001/eureka/
registryFetchIntervalSeconds: 5 ## 定時重新整理本地快取時間
instance:
leaseRenewalIntervalInSeconds: 5 ## 心跳間隔,5秒
leaseExpirationDurationInSeconds: 10 ## 沒有心跳的淘汰時間,10秒
ribbon:
ServerListRefreshInterval: 2000 ## ribbon快取時間