SpringCloud config native 配置

news2024/9/21 9:51:59

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.coloradmin.cn/o/2146851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适合运动的骨传导耳机哪款好?分享五款性能卓越骨传导耳机

面对琳琅满目的骨传导耳机市场&#xff0c;是不是既兴奋又迷茫&#xff1f;别怕&#xff0c;我来给你支几招&#xff01;选耳机&#xff0c;最重要的是适合自己&#xff0c;别被各种噱头和价格差异绕晕了头。价格高低与品质好坏并非绝对正比&#xff0c;关键看性价比和个人需求…

Google SERP API 对接说明

Google SERP API 对接说明 Google SERP&#xff08;Search Engine Results Page&#xff09;是用户在Google搜索引擎中输入查询后看到的结果页面。它显示自然搜索结果、广告、特色摘要、知识图谱以及图片、视频等多种内容&#xff0c;旨在为用户提供最相关的信息。 本文将详细…

物联网开发+充电桩管理系统+充电桩系统源码

简述 SpringBoot 框架&#xff0c;充电桩平台充电桩系统充电平台充电桩互联互通协议云快充协议1.5新能源汽车电动自行车公交车-四轮车充电充电源代码充电平台源码Java源码无加密项目 介绍 云快充协议云快充1.5协议云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充…

鸿蒙应用生态构建的核心目标

保护开发者和用户利益的同时维护整体系统的安全性&#xff0c;对生态构建者是至关重要的。以开发者为中心&#xff0c;构建端到端应用安全能力&#xff0c;保护应用自身安全、运行时安全&#xff0c;保障开发者权益&#xff0c;是鸿蒙应用生态构建的核心目标。 应用生命周期主要…

大数据-137 - ClickHouse 集群 表引擎详解2 - MergeTree 存储结构 一级索引 跳数索引

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

CAD图1

文章目录 选择直线工具选择圆形选中圆形 选择直线工具 画一条十字中心线 选择圆形 以十字中心为起点画一个半径为 53 的圆形 选中圆形 选中圆形&#xff0c;捕捉右侧圆形焦点

【北京迅为】《STM32MP157开发板使用手册》- 第四十章 二值信号量实验

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

②MODBUS TCP 转 RS485(RS485与TCP数据双向互传)MODBUS TCP与MODBUS RTU互转(无需编程 独立通道)

型号&#xff1a;1路总线TCP网关&#xff08;单网口&#xff09; MS-A1-5011 1路总线TCP网关&#xff08;双网口&#xff09; MS-A2-5011 2路总线TCP网关&#xff08;单网口&#xff09; MS-A1-5021 2路总线TCP网关&#xff08;双网口&#xff09; MS-A2-5021 4路总…

怎样把PPT上顽固的图标删了

例如&#xff1a; 解决&#xff1a; 首先打开下载好的PPT模板&#xff0c;然后在视图选项卡里面找到幻灯片母版。 进入幻灯片母版后&#xff0c;找到第一页母版页就会看到LOGO了&#xff0c;这时使用鼠标就可以选中删除啦。

【Web】从网安的角度浅聊Groovy命令执行

什么是 Groovy&#xff1f; Groovy 是一种基于 Java 平台的动态语言&#xff0c;旨在提高开发效率。它与 Java 语言高度兼容&#xff0c;允许开发者以更简洁的方式编写代码。Groovy 支持面向对象编程、闭包、DSL&#xff08;领域特定语言&#xff09;等特性&#xff0c;使得它…

OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(上)

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ OpenHarmony&#xff08;鸿蒙南向开发&#xff09;——轻量系统STM32F407芯片移植案…

Eclipse离线安装Tomcat插件

Eclipse离线安装Tomcat插件 最近的自己在对低版本的代码的进行维护补丁,不得不采用Eclipse 来进行跑项目,真的是折磨 其中遇到一个问题就是打开Eclipse的2021版,安装Tomcat的插件,发现好家伙,就是死活在线安装失败 (喵的,真的是让我抓耳挠腮!!哈哈哈) 无奈,只好采用离线安装,特…

C# 携手 7-Zip 命令行:大文件压缩的终极武器?

前言 嗨&#xff0c;大家好&#xff01; 今天咱们来聊聊如何用 C# 调用 7-Zip 命令行来压缩大文件&#xff0c;这是个既高效又稳定的好办法&#xff0c;亲测有效&#xff01; 在实际工作中&#xff0c;压缩文件几乎是家常便饭&#xff0c;但可惜的是&#xff0c;许多常用的方…

VBS学习2:问题解决(文件中含义中文运行报错或者中文乱码)

文件中含义中文运行报错或者中文乱码 问题 msgbox"fdsfdsf大蘇打撒旦dsfsdffsdfsd发斯蒂芬斯蒂芬"解决 文件编码修改成GB2312

JAVA开源项目 校园美食分享平台 计算机毕业设计

本文项目编号 T 033 &#xff0c;文末自助获取源码 \color{red}{T033&#xff0c;文末自助获取源码} T033&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

springboot通过tomcat部署项目(包含jar、war两种方式,迄今为止全网最详细!2024更新..建议收藏,教学!万字长文!)

本博客参考的所有文章均已在结尾声明&#xff01;&#xff01;&#xff01; 在 Spring Boot 项目中&#xff0c;有两种常见的部署方式&#xff1a; 1、使用 Spring Boot 自带的 内置 Tomcat&#xff0c;将项目打包为 jar 并直接运行。 2、使用 外置 Tomcat&#xff0c;将项目打…

DHCP服务(relay中继)实验简述

一、DHCP服务&#xff08;relay中继模式&#xff09; 一、配置接入交换机LSW 2 The device is running! sys Enter system view, return user view with CtrlZ. [Huawei]undo info-center enable Info: Information center is disabled. [Huawei]sysname LSW2 [LSW2]vlan batc…

记录可编辑表格(未完整)

每一行都独立 <el-table-column label"操作" width"220" fixed"right"><template #default"{ row, $index }"><el-buttonv-if"!row.tableEditFlag"type"primary"size"small"click"…

中间件:maxwell、canal

文章目录 1、底层原理&#xff1a;基于mysql的bin log日志实现的&#xff1a;把自己伪装成slave2、bin log 日志有三种模式&#xff1a;2.1、statement模式&#xff1a;2.2、row模式&#xff1a;2.3、mixed模式&#xff1a; 3、maxwell只支持 row 模式&#xff1a;4、maxwell介…

Vue 自定义指令实战

引言 Vue自定义指令是Vue.js框架中强大而灵活的功能之一&#xff0c;它允许开发者根据具体需求创建自定义的指令&#xff0c;以实现更加精细化的交互和数据绑定效果。本文将带你深入探索Vue自定义指令的使用方法、原理和实战&#xff0c;为你打开前端开发的新视野。 我们前面…