SpringCloud之搭建配置中心

2021-09-08 13:59:58 字數 3690 閱讀 7765

一、搭建config-server

1、引入pom

<

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

>

2、配置檔案

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;

import 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

>

2、bootstrap.properties

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...