最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud使用集中配置組件Config規(guī)避信息泄露

 更新時間:2022年07月16日 10:42:15   作者:_時光煮雨  
項(xiàng)目應(yīng)用中,數(shù)據(jù)庫連接信息、Access-key、Secret-key等由于其及其敏感和特殊性,一旦泄露出去就很可能會使得應(yīng)用遭到黑客攻擊,例如數(shù)據(jù)庫賬號密碼泄露可能導(dǎo)致“拖庫”,甚至數(shù)據(jù)丟失。此等事件偶有發(fā)生,那么,在分布式微服務(wù)項(xiàng)目中,怎么避免這種情況呢

Spring Cloud Config簡介

在分布式系統(tǒng)中,由于應(yīng)用被拆分成數(shù)量巨多的小服務(wù),另外應(yīng)用也部署在不同的環(huán)境之中,如dev、int、uat、prod等,各個環(huán)境的配置不盡相同,為了方便配置文件統(tǒng)一管理,所以需要分布式配置中心組件。

配置文件統(tǒng)一管理之后,各個環(huán)境只能獲取對應(yīng)環(huán)境的配置信息,開發(fā)人員也只能獲取到開發(fā)環(huán)境的配置信息,就能在一定程度上避免敏感信息的泄露。

Spring Cloud Config作為分布式配置中心組件 ,包括Config 服務(wù)端,和Config 客戶端。

  • Config Server是一個可橫向擴(kuò)展、集中式的配置服務(wù)器,它用于集中管理應(yīng)用程序各個環(huán)境下的配置,默認(rèn)使用Git存儲配置文件內(nèi)容,也可以使用SVN存儲,或者是本地文件存儲。
  • Config Client是Config Server的客戶端,用于操作存儲在Config Server中的配置內(nèi)容。微服務(wù)在啟動時會請求Config Server獲取配置文件的內(nèi)容,請求到后再啟動容器。

Config實(shí)戰(zhàn)

1、創(chuàng)建項(xiàng)目config服務(wù)端

創(chuàng)建子模塊config-server,pom.xml引入eureka-client 和config-server的依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

2、創(chuàng)建配置文件

新建config-server自身的配置文件application.yml

server:
  port: 8005
spring:
  application:
    name: config-server
  profiles:
    active: native #使用本地文件
  cloud:
    config:
      server:
        native:
          search-locations: classpath:/repo #本地配置倉庫地址
#        git:
#          uri: https://gitee.com/xxxx/xxxxx.git
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8001/eureka/

這里我們以使用本地配置倉庫地址為例,spring.profiles.active設(shè)置為native,配置倉庫路徑為repo文件夾,所以我們在resources文件下創(chuàng)建repo文件夾,并創(chuàng)建新的一個configclient-dev.yml的文件,內(nèi)容如下:

server:
  port: 8007

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8001/eureka/
feign:
  hystrix:
    enabled: true
logging:
  pattern:
    console: '%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'

3、新建啟動類

@EnableConfigServer //開啟配置服務(wù)
@EnableEurekaClient
@SpringBootApplication
public class ConfitServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfitServerApplication.class, args);
    }
}

注意增加@EnableConfigServer注解,表示這是個配置中心服務(wù)端。

4、創(chuàng)建配置中心客戶端

服務(wù)端開發(fā)完成后,我們再新建一個客戶端config-client項(xiàng)目,引入如下依賴:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

與服務(wù)端不同的是,客戶端的配置文件我們創(chuàng)建bootstrap.yml文件

spring:
  cloud:
    config:
      name: configclient
      profile: dev
      label: master
      discovery:
        enabled: true
        service‐id: config-server

eureka:
  client:
    service‐url:
      defaultZone: http://localhost:8001/eureka/

注意spring.cloud.config.name與服務(wù)端中的文件名稱對應(yīng),spring.cloud.config.profile與文件名-后面的環(huán)境代碼對應(yīng),配置文件的命名規(guī)則是 {application}/{profile}[/{label}] 。

當(dāng) Config Client 去訪問 Config Server 時,spring.cloud.config.name 、spring.cloud.config.profile 以及 、spring.cloud.config.label 的值分別對應(yīng)上面三個占位符,如果配置了spring.cloud.config.name,那么就取spring.cloud.config.name,如果沒有配置就取 spring.application.name,通過靈活使用 {application} 、{profile}{label} 三個占位符,就可以來動態(tài)地控制 client 從 server 所訪問的倉庫!

然后編寫客戶端啟動類:

@EnableDiscoveryClient
@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class ConfigClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication.class, args);
    }
}

5、驗(yàn)證

我們分別啟動registry項(xiàng)目以及config-server,config-client兩個服務(wù),這時,就會發(fā)現(xiàn),config-client服務(wù)拉取了config-server中對應(yīng)的配置文件。

總結(jié)

這篇文章我們介紹了一下 Spring Cloud Config 的一個基本使用,包括 Spring Cloud Config Server 和 Spring Cloud Config Client 的項(xiàng)目搭建。通過環(huán)境的配置隔離,避免了敏感配置信息的泄露。

有人可能就說了,我本地把拉取dev的配置改成拉取prod不一樣也能拿到其他環(huán)境的信息嗎?下一篇文章我們介紹如何通過 Config Server 的安全管理、配置文件的加密等機(jī)制真正做到這一點(diǎn),一起期待吧!

到此這篇關(guān)于SpringCloud使用集中配置組件Config規(guī)避信息泄露的文章就介紹到這了,更多相關(guān)SpringCloud集中配置組件Config內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?binLog日志監(jiān)聽方式

    Java?binLog日志監(jiān)聽方式

    文章介紹了如何在Windows下開啟MySQL的binLog日志,并提供了一個Java代碼示例,演示如何監(jiān)聽指定的表并進(jìn)行處理邏輯
    2024-11-11
  • Java中RocketMQ的流量削峰詳解

    Java中RocketMQ的流量削峰詳解

    這篇文章主要介紹了Java中RocketMQ的流量削峰詳解,MQ的主要特點(diǎn)為解耦、異步、削峰,該文章主要記錄與分享個人在實(shí)際項(xiàng)目中的RocketMQ削峰用法,用于減少數(shù)據(jù)庫壓力的業(yè)務(wù)場景,需要的朋友可以參考下
    2023-09-09
  • springboot使用IDEA遠(yuǎn)程Debug

    springboot使用IDEA遠(yuǎn)程Debug

    項(xiàng)目上線之后,如果日志打印的很模糊或者業(yè)務(wù)邏輯比較復(fù)雜,有時候無法定位具體的錯誤原因,因此可以通過IDEA遠(yuǎn)程代理進(jìn)行Debug,本文就來介紹一下如何使用
    2021-06-06
  • Java括號匹配舉例詳解

    Java括號匹配舉例詳解

    看到大家對括號匹配問題很感興趣,下面這篇文章主要給大家介紹了關(guān)于Java括號匹配的相關(guān)資料,括號匹配是一種常見的編程問題,涉及到在給定的字符串中判斷括號是否匹配,需要的朋友可以參考下
    2023-10-10
  • 圖文講解Java中實(shí)現(xiàn)quickSort快速排序算法的方法

    圖文講解Java中實(shí)現(xiàn)quickSort快速排序算法的方法

    這篇文章主要介紹了Java中實(shí)現(xiàn)quickSort快速排序算法的方法,文章最后還介紹了一種單向掃描的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-05-05
  • Java編程中ArrayList源碼分析

    Java編程中ArrayList源碼分析

    這篇文章主要介紹了Java編程中ArrayList源碼分析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Java 使用反射調(diào)用jar包中的類方式

    Java 使用反射調(diào)用jar包中的類方式

    這篇文章主要介紹了Java 使用反射調(diào)用jar包中的類方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • java訪問者模式的靜態(tài)動態(tài)及偽動態(tài)分派徹底理解

    java訪問者模式的靜態(tài)動態(tài)及偽動態(tài)分派徹底理解

    這篇文章主要為大家介紹了java訪問者模式的靜態(tài)動態(tài)及偽動態(tài)分派徹底理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Java多線程編程實(shí)現(xiàn)socket通信示例代碼

    Java多線程編程實(shí)現(xiàn)socket通信示例代碼

    這篇文章主要介紹了Java多線程編程實(shí)現(xiàn)socket通信示例代碼,詳細(xì)介紹了tcp、udp協(xié)議,以及基于socket的Java網(wǎng)絡(luò)編程的相關(guān)內(nèi)容及代碼示例,代碼測試可用,供大家參考。
    2017-10-10
  • java中實(shí)現(xiàn)分頁的幾種常見方式總結(jié)

    java中實(shí)現(xiàn)分頁的幾種常見方式總結(jié)

    在項(xiàng)目中經(jīng)常會查詢大量數(shù)據(jù),這就要用到分頁展示,下面這篇文章主要給大家介紹了關(guān)于java中實(shí)現(xiàn)分頁的幾種常見方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12

最新評論

彭山县| 泰安市| 鹿邑县| 长治市| 盐亭县| 米林县| 广河县| 天台县| 同江市| 买车| 南投县| 东乌珠穆沁旗| 马公市| 乐至县| 蓝山县| 故城县| 库尔勒市| 万盛区| 漠河县| 马龙县| 曲阜市| 鄂伦春自治旗| 油尖旺区| 云龙县| 凤山市| 焦作市| 廉江市| 正宁县| 特克斯县| 偃师市| 江口县| 白朗县| 阳谷县| 滨州市| 西峡县| 惠东县| 老河口市| 肃北| 五大连池市| 昌图县| 鄂托克旗|