当前位置: 首页 > article >正文

SpringCloud config native 配置

SpringCloud config native 配置

1.概述

最近项目使用springCloud 框架,使用config搭建git作为配置中心。

在私有化部署中,出现很多比较麻烦的和鸡肋的设计。

每次部署都需要安装gitlab

有些环境安装完gitlab,外面不能访问,不给开端口

实时同步比较麻烦

基于上述问题,决定将配置中心依springCloud config本地文件的方式进行改造

缺点就是每个服务器上都可以放配置文件

2、springCloud config配置方式

config配置方式有三种,本文主要介绍本地文件方式

git方式

svn方式

本地文件方式

3、部署架构

springcloud config的流程架构

need-to-insert-img

4、环境搭建

springcloud config分为eureka服务,config服务器端和config客户端

1、eureka服务端搭建

1、pom.xml

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtest<!-- Eureka-Server 依赖 -->org.springframework.cloudspring-cloud-starter-netflix-eureka-server<!-- SpringCloud 版本控制依赖 springboot版本需要匹配cloud版本

            这里用的boot版本2.3.2.RELEASE -->org.springframework.cloudspring-cloud-dependenciesHoxton.SR12pomimport

2、aplication.yml

server:port:8761eureka:instance:hostname:127.0.0.1#eureka服务端的实例名称2client:register-with-eureka:false#false表示不向注册中心注册自己。fetch-registry:false#false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:defaultZone:http://127.0.0.1:8761/eureka/

3、启动类

packagecom.feng;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication@EnableEurekaServerpublicclassSpringCloud13EurekaApplication{publicstaticvoidmain(String[] args){        SpringApplication.run(SpringCloud13EurekaApplication.class, args);    }}

4、启动测试

访问地址:http://127.0.0.1:8761/

need-to-insert-img

2、config服务端搭建

1、pom.xml

org.springframework.bootspring-boot-starter-web<!-- Eureka client -->org.springframework.cloudspring-cloud-starter-netflix-eureka-clientorg.springframework.cloudspring-cloud-config-server<!--Spring Boot Actuator,感应服务端变化-->org.springframework.bootspring-boot-starter-actuator<!-- SpringCloud 版本控制依赖 -->org.springframework.cloudspring-cloud-dependencies${spring-cloud.version}pomimport

2、application

server:port:8888spring:profiles:active:native#设置为本地configapplication:name:springcloud-configcloud:config:server:native:search-locations:d:/config-repo#本地配置的路径#        git:#          uri: http://222.175.101.224:8090/liuyusong/springcloud-config.git#          search-paths: /config-repoeureka:client:service-url.defaultZone:http://127.0.0.1:8761/eureka/instance:prefer-ip-address:true

3、启动类

packagecom.feng;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.config.server.EnableConfigServer;importorg.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication@EnableEurekaClient@EnableConfigServerpublicclassSpringCloud14ConfigServerApplication{publicstaticvoidmain(String[] args){        SpringApplication.run(SpringCloud14ConfigServerApplication.class, args);    }}

4、测试服务器端

浏览器访问 http://localhost:8888/springcloud-config/config-base-local.yml

浏览器访问个 server端口/应用名字/文件名-环境名.yml

3、config客户端搭建并测试

1、pom.xml

org.springframework.bootspring-boot-starter-web<!-- Eureka client -->org.springframework.cloudspring-cloud-starter-netflix-eureka-clientorg.springframework.cloudspring-cloud-config-client<!--Spring Boot Actuator,感应服务端变化-->org.springframework.bootspring-boot-starter-actuator<!-- SpringCloud 版本控制依赖 -->org.springframework.cloudspring-cloud-dependencies${spring-cloud.version}pomimport

2、application

server:

  port: 8889

spring:

  application:

    name: springcloud-15-config-client

3、bootstrap

spring:cloud:config:discovery:enabled:trueservice-id:springcloud-13-config-server#eureka的servicename:config-test#      name: config-test,config-test1 可以配置多个配置eureka:client:service-url.defaultZone:http://127.0.0.1:8761/eureka/instance:prefer-ip-address:true

4、启动类

packagecom.feng;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication@EnableDiscoveryClientpublicclassSpringCloud15ConfigClientApplication{publicstaticvoidmain(String[] args){        SpringApplication.run(SpringCloud15ConfigClientApplication.class, args);    }}

5、测试类

packagecom.feng.controller;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassTestController{@Value("${myconfig.name}")String name;@Value("${myconfig.version}")String version;@GetMapping("/hello")publicStringhello(){return"ok1"+name+version;    }}

6、测试客户端

测试地址:http://localhost:8889/hello

need-to-insert-img

5、总结

springcloud config 本地化配置的优点是不需要另外搭建gitlab或者svn,部署相对简单

缺点是 如果有多个server端需要手动同步文件,每一个服务器都需要有文件

6、源码地址

最后编辑于:2024-09-18 20:51:51


喜欢的朋友记得点赞、收藏、关注哦!!!


http://www.kler.cn/a/315458.html

相关文章:

  • nginx配置负载均衡详解
  • [前端]NodeJS常见面试题目
  • 【真题笔记】21年系统架构设计师案例理论点总结
  • 【金融风控】特征评估与筛选详解
  • react动态路由
  • AI 扩展开发者思维方式:以 SQL 查询优化为例
  • mysql性能优化- 数据库配置优化
  • java面试题第一弹
  • Mybatis Plus分页查询返回total为0问题
  • PostgreSQL技术内幕10:PostgreSQL事务原理解析-日志模块介绍
  • 若依框架多次list查询时,分页失效
  • 使用Apache SeaTunnel高效集成和管理SftpFile数据源
  • 伊犁云计算22-1 apache 安装rhel8
  • C++:tinyxml2用于解析、操作和生成XML文件
  • Git基本用法总结
  • ZYNQ学习--AXI总线协议
  • 001.docker30分钟速通版
  • 深入 mysql,掌握一对一、一对多、多对多表设计、查询及级联操作
  • 鸿蒙ms参考
  • 聚类_K均值
  • 基于 Web 的工业设备监测系统:非功能性需求与标准化数据访问机制的架构设计
  • git重置本地提交与远程保持一致
  • 阅读笔记——《围城》
  • git 版本管理的常用命令
  • c++249多态
  • 【计算机网络篇】计算机网络概述