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.xdnf.cn/news/148020.html

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

相关文章

QT实现升级进度条页面

一.功能说明 在Qt中实现固件升级的进度条显示窗口&#xff0c;你可以通过创建一个自定义的对话框&#xff08;Dialog&#xff09;来完成。这个对话框可以包含一个进度条&#xff08;QProgressBar&#xff09;、一些文本标签&#xff08;QLabel&#xff09;用于显示状态信息&am…

SSL 最长签发时间是多久?

在当今数字化的时代&#xff0c;网络安全变得至关重要。为了确保数据在网络传输中的安全性&#xff0c;SSL&#xff08;Secure Sockets Layer&#xff0c;安全套接层&#xff09;证书被广泛应用。那么&#xff0c;SSL最长签发时间是多久呢&#xff1f; SSL证书是一种数字证书&…

差分数组介绍

差分数组 差分数组介绍定义性质性质1: 计算数列第i项的值性质2: 计算数列第i项的前缀和应用场景差分数组具体示例【leetcode】370.区间加法题目描述题解【leetcode】1109. 航班预订统计题目描述题解【leetcode】2848.与车相交的点题目描述题解差分数组介绍 定义 对于已知有n个…

C#如何把写好的类编译成dll文件

1 新建一个类库项目 2 直接改写这个Class1.cs文件 3 记得要添加Windows.Forms引用 4 我直接把在别的项目中做好的cs文件搞到这里来&#xff0c;连文件名也改了&#xff08;FilesDirectory.cs&#xff09;&#xff0c;这里using System.Windows.Forms不会报错&#xff0c;因为前…

制造解法 Manufactured Solutions 相关的论文的阅读笔记

Verification of Euler/Navier–Stokes codes using the method of manufactured solutions https://doi.org/10.1002/fld.660 粘性项与扩散项之间的平衡 For the Navier–Stokes simulations presented herein, the absolute viscosity is chosen to be a large constant va…

【Java】掌握Java:基础概念与核心技能

文章目录 前言&#xff1a;1. 注释2. 字面量3. 变量详解3.1 变量的定义3.2 变量里的数据存储原理3.3 数据类型3.4 关键字、标识符 4. 方法4.1 方法是啥&#xff1f;4.2 方法的完整定义格式4.3 方法如何使用&#xff1a;4.4 方法的其他形式4.5 方法的其他注意事项4.5.1 方法是可…

如何充分使用芝士AI呢?一文讲清楚助力论文完成无忧

为了解决各位学弟学妹们的论文烦恼&#xff0c;助力大家毕业无忧&#xff0c;芝士AI由985硕博团队的学长学姐们潜心研发出来的一款集齐论文选题、开题报告、论文初稿、论文查重、论文降重、论文降AIGC率、论文答辩稿、论文答辩PPT&#xff0c;一站式解决困扰大家已久的论文问题…

如何创建标准操作规程(SOP)[+模板]

创建、分发和管理流程文档和逐步说明的能力是确定企业成功的关键因素。许多组织依赖标准操作规程&#xff08;SOP&#xff09;作为基本形式的文档&#xff0c;指导他们的工作流程操作。 然而&#xff0c;SOP不仅仅是操作路线图&#xff1b;它们就像高性能车辆中的先进GPS系统一…

机器视觉-7 检测原理之预处理(图像增强)

在图像处理领域&#xff0c;图像增强是一个非常重要的技术&#xff0c;目的是通过调整图像的某些特征来改善图像的视觉效果&#xff0c;或为后续的图像分析和处理做准备。在 OpenCV 中&#xff0c;C 提供了多种图像增强方法&#xff0c;包括直方图均衡化、对比度拉伸、锐化、边…

双向链表-

链表特性&#xff1a;带头/不带头 循环/非循环 --->排列组合后&#xff0c;共有8种链表结构 一.双向链表的定义 前一个节点存了后一个节点的地址&#xff0c;后一个节点也存了前一个节点的地址&#xff0c;即循环链表 二.代码解析 //双向链表 //与非循环链表区别&#…

面试官:Spring是如何解决循依赖问题?

Spring 的循环依赖一直都是 Spring 中一个很重要的话题&#xff0c;一方面是 Spring 为了解决循环依赖做了很多工作&#xff0c;另一个方面是因为它是面试 Spring 的常客&#xff0c;因为他要求你看过 Spring 的源码&#xff0c;如果没有看过 Spring 源码你基本上是回答不了这个…

【Java】线程暂停比拼:wait() 和 sleep()的较量

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持&#xff01; 在Java多线程编程中&#xff0c;合理地控制线程的执行是至关重要的。wait()和sleep()是两个常用的方法&#xff0c;它们都可以用来暂停线程的执行&#xff0c;但它们之间存在着显著的差异。本文将详…

移动技术开发:RecyclerView瀑布流水果列表

1 实验名称 RecyclerView瀑布流水果列表 2 实验目的 掌握RecyclerView控件的实现方法和基本应用 3 实验源代码 布局文件代码&#xff1a; activity_main&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android&q…

Mac系统Docker中SQLserver数据库文件恢复记录

Mac系统Docker中SQLserver数据库文件恢复记录 Mac想要安装SQLsever&#xff0c;通过docker去拉去镜像是最简单方法。 一、下载Docker Docker 下载安装&#xff1a; 需要‘科学上网’ 才能访问到docker官网。&#xff08; https://docs.docker.com/desktop/install/mac-ins…

18.2K Star,AI 高效视频监控摄像头

Hi&#xff0c;骚年&#xff0c;我是大 G&#xff0c;公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目&#xff0c;一分钟 get 一个优秀的开源项目&#xff0c;挖掘开源的价值&#xff0c;欢迎关注。 导语 在家庭和企业安防领域&#xff0c;实时视频监控是保障安全的核…

2024 SNERT 预备队招新 CTF 体验赛-Web

目录 1、robots 2、NOF12 3、get_post 4、好事慢磨 5、uploads 6、rce 7、ezsql 8、RCE 1、robots robots 协议又叫爬虫协议&#xff0c;访问 robots.txt 继续访问 /JAY.php 拿到 flag&#xff1a;flag{hello_Do_YOU_KONw_JAY!} 2、NOF12 F12 和右键都被禁用 方法&#…

22、Raven2

难度 中 目标 root权限 4个flag 使用Virtualbox启动 kali 192.168.86.105 靶机 192.168.86.106 信息收集 看到111端口有一个rpc相关的东西&#xff0c;去网上查看了一下是什么服务 通过在网上搜索发现这是一个信息泄露的漏洞&#xff0c;上面的这个端口其实就是泄露的端口和…

【Spring 底层原理】手搓一个Spring框架

文章目录 准备工作Spring 框架到底在干啥&#xff1f;几个概念辨析注解的定义自定义核心注解配置类启动类辅助类 Spring 容器XxxAware 回调机制初始化机制前置、后置处理器完整的容器代码源码下载 最近工作接触到的知识比较底层&#xff0c;因此为了突破瓶颈&#xff0c;彻底搞…

ubuntu+MobaXterm+ssh+运行Qt(成功版)

点击上方"蓝字"关注我们 01、ubuntu连接SSH >>> 通过串口工具连接ubuntu 登录 解决连接不上的问题 检查 SSH 服务:确保目标机器上 SSH 服务已启动。你可以在目标机器上运行以下命令: sudo systemctl status ssh 如果没有运行,可以使用以下命令启动 SSH …

英特尔AI加速器Gaudi 3下周发布,挑战NVIDIA统治地位!

英特尔正稳步推进其2024年计划&#xff0c;备受瞩目的AI加速器Gaudi3预计将于下周震撼登场。这款被誉为英特尔AI英雄的产品&#xff0c;专注于处理大规模训练和推理任务&#xff0c;拥有无与伦比的扩展能力。面对市场对高效能半导体的旺盛需求&#xff0c;英特尔首席执行官帕特…