一、搭建config-server
1、引入pom
<2、配置檔案dependencies
>
<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-starter-eureka
artifactid
>
dependency
>
<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-config-server
artifactid
>
dependency
>
<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-starter-bus-amqp
artifactid
>
dependency
>
<
dependency
>
<
groupid
>org.eclipse.jgit
groupid
>
<
artifactid
>org.eclipse.jgit
artifactid
>
<
version
>4.9.0.201710071750-r
version
>
dependency
>
dependencies
>
spring.profiles.active=@environment@# 應用名稱
# 服務埠
server.port=21200
# 禁用actuator管理端鑑權
management.security.enabled=false
# 啟用shutdown host:port/shutdown
endpoints.shutdown.enabled=true # 禁用密碼驗證 endpoints.shutdown.sensitive=false
eureka:client:
serviceurl:
defaultzone:
instance:
lease-renewal-interval-in-seconds: 10
lease-expiration-duration-in-seconds: 30
preferipaddress: true
spring:
cloud:
config:
server:
git:
uri:
username: ***
password: 'rhqgz$n31'
# 這裡可以寫死,也可以寫成來動態化
search-paths: local
rabbitmq:
addresses: amqp:
username: user_admin
password: 222
virtual-host: crm
package com.tomato.crm.config;2、bootstrap.propertiesimport org.springframework.cloud.config.server.enableconfigserver;
@enableconfigserver
通過屬性:spring.profiles.active 來控制不同環境不同的配置檔案(git路徑不同)
二、配置倉庫
採用分功能(例如資料庫的、redis的)、分專案的形式進行劃分配置檔案
三、具體的專案(config client)
1、引入pom
<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-starter-config
artifactid
>
dependency
>
<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-starter-stream-rabbit
artifactid
>
dependency
>
server.port=23100
# 預設為local,可以通過啟動引數來賦值進行覆蓋
spring.profiles.active=local
#非本地的啟動,註冊中心採用啟動引數傳入,本地測試也在啟動引數中注入
# 此引數請勿放開並提交,因為bootstrap的優先順序最高(高於啟動引數),這裡不能寫死
#eureka.client.serviceurl.defaultzone=
# 配置中心配置
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=crm-config-server
#分支, 預設master
spring.cloud.config.label=master
#環境,如果配置了則會去讀取common.properties + common-local.properties/yml
# spring.cloud.config.profile=local
spring.cloud.config.name=common,bus,redis,security-service
這裡採用通過註冊中心獲取config server的形式來做多例項負載均衡。
四、配置重新整理
方法1:
post請求需要重新整理的服務的endpoint是:/refresh
方法2:
通過配置中心發起廣播(mq)重新整理:手動post請求到配置中心服務的:/bus/refresh
方法3:
通過git lab的事件機制來post請求方法2中的url
Consul作為SpringCloud配置中心
在分布式系統中動態配置中,可以避免重複重啟服務,動態更改服務引數等。一句話非常重要。另外一篇文章也是這樣說的,哈哈。consul 作為spring 推薦的分布式排程系統其也具備配置中心的功能,我們也可以利用其作為配置中心,其client端主動定時發起與配置中心同步機制,實現動態配置的的更新。環境依賴...
SpringCloud 商城系統搭建之Zuul
spring cloud zuul路由是微服務架構的不可或缺的一部分,提供動態路由,監控,彈性,安全等的邊緣服務。zuul是netflix出品的乙個基於jvm路由和服務端的負載均衡器。本文是基於springcloud 系統搭建之eureka pom.xml 4.0.0 com.zzg superma...
Spring Cloud 環境搭建
1 搭建eurake註冊中心工程 1 在pom.xml 新增eurake 註冊中心依賴包 1.8greenwich.sr2 org.springframework.cloud spring cloud starter netflix eureka server org.springframework...