iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringCloud微服务之Config知识总结
  • 766
分享到

SpringCloud微服务之Config知识总结

2024-04-02 19:04:59 766人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、什么是spring cloud Config?二、搭建git环境三、服务端示例四、客户端示例五、安全认证示例六、集群搭建示例一、什么是spring Cloud Config?

一、什么是spring Cloud Config?

  • Spring Cloud Config 可以为微服务架构中的应用提供集中化的外部配置支持,它分为服务端和客户端两个部分。
  • Spring Cloud Config 服务端被称为分布式配置中心,它是个独立的应用,可以从配置仓库获取配置信息并提供给客户端使用。
  • Spring Cloud Config 客户端可以通过配置中心来获取配置信息,在启动时加载配置。
  • Spring Cloud Config 的配置中心默认采用Git来存储配置信息,所以天然就支持配置信息的版本管理,并且可以使用Git客户端来方便地管理和访问配置信息。

二、搭建GIT环境

创建仓库

在这里插入图片描述

创建文件

  • master分支

# config-dev.yml
config:
  info: "config info for dev(master)"
# config-test.yml
config:
  info: "config info for test(master)"
# config-prod.yml
config:
  info: "config info for prod(master)"
  • dev分支

# config-dev.yml
config:
  info: "config info for dev(dev)"
# config-test.yml
config:
  info: "config info for test(dev)"
# config-prod.yml
config:
  info: "config info for prod(dev)"

三、服务端示例

添加依赖


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

添加配置

  • 启动类

@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer
public class SpringCloudConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SprinGCloudConfigServerApplication.class, args);
    }
}
  • application.yml配置文件

server:
  port: 8888
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        # 配置存储配置信息的Git仓库
        git:
          uri: https://gitee.com/prochick/spring-cloud-config.git
          # Git用户名
          username: xxx
          # Git密码
          passWord: xxx
          # 指定是否开启启动时直接从git获取配置
          clone-on-start: true

eureka:
  instance:
    prefer-ip-address: true
    instance-id: config-server-8888
  client:
    fetch-reGIStry: false
    register-with-eureka: true
    service-url:
      defaultZone: Http://localhost:8010/eureka/

访问说明


# 获取配置信息
/{label}/{application}-{profile}
# 获取配置文件信息
/{label}/{application}-{profile}.yml
  • application

代表应用名称,默认为配置文件中的spring.application.name,如果配置了spring.cloud.config.name,则为该名称

  • label

代表分支名称,对应配置文件中的spring.cloud.config.label

  • profile

代表环境名称,对应配置文件中的spring.cloud.config.profile

测试使用


# 访问http://localhost:8888/master/config-dev来获取master分支上dev环境的配置信息
# 访问http://localhost:8888/master/config-dev.yml来获取master分支上dev环境的配置文件信息
# 访问http://localhost:8888/master/config-test.yml来获取master分支上test环境的配置文件信息
# 访问http://localhost:8888/dev/config-dev.yml来获取dev分支上dev环境的配置文件信息

四、客户端示例

添加依赖


<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-WEB</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>

添加配置

  • 配置文件

bootstrap.yml


server:
  port: 9999
spring:
  application:
    name: config-client

  cloud:
    config:
      # 配置中心地址
      uri: http://localhost:8888
      # 分支名称
      label: master
      # 配置文件名称
      name: config
      # 配置后缀名称
      profile: dev

eureka:
  instance:
    prefer-ip-address: true
    instance-id: config-client-9999
    client:
      fetch-registry: false
      register-with-eureka: true
      service-url:
        defaultZone: http://localhost:8010/eureka/
 
# 暴露刷新监控 
management:
  endpoints:
    web:
      exposure:
        include: 'refresh'

控制器类


@RestController
@RefreshScope
public class ConfigController {

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/configInfo")
    public String getConfigInfo() {

        return configInfo;
    }
}

测试使用


# 访问http://localhost:9999/configInfo 可以获取到dev分支下dev环境的配置

五、安全认证示例

添加依赖


<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

添加配置

  • 服务端配置

server:
  port: 8888
spring:
  application:
    name: config-server
  # 配置存储配置信息的Git仓库
  cloud:
    config:
      server:
        git:
          # 访问地址
          uri: https://gitee.com/prochick/spring-cloud-config.git
          # Git用户名
          username: xxx
          # Git密码
          password: xxx
          # 指定是否开启启动时直接从git获取配置
          clone-on-start: true
  # 配置用户名和密码
  security: 
    user:
      name: xxx
      password: xxx
  • 客户端配置

server:
  port: 9999
spring:
  application:
    name: config-client

  cloud:
    config:
      # 配置中心地址
      uri: http://localhost:8888
      # 分支名称
      label: master
      # 配置文件名称
      name: config
      # 配置后缀名称
      profile: dev
      # 配置中心用户名
      username: xxx
      # 配置中心密码
      password: xxx

六、集群搭建示例

添加配置

bootstrap.yml


server:
  port: 9999
spring:
  application:
    name: config-client

  cloud:
    config:
      # 分支名称
      label: master
      # 配置文件名称
      name: config
      # 配置后缀名称
      profile: dev
      # 集群绑定
      discovery:
        enabled: true
        service-id: config-server

eureka:
  instance:
    prefer-ip-address: true
    instance-id: config-client-9999
    client:
      fetch-registry: true
      register-with-eureka: true
      service-url:
        defaultZone: http://localhost:8010/eureka/

测试访问


# 访问eureka-server

在这里插入图片描述


# 访问http://localhost:9999/configInfo 可以获取到dev分支下dev环境的配置

到此这篇关于SpringCloud微服务之Config知识总结的文章就介绍到这了,更多相关SpringCloud Config内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringCloud微服务之Config知识总结

本文链接: http://www.lsjlt.com/news/126359.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringCloud微服务之Config知识总结
    目录一、什么是Spring Cloud Config?二、搭建GIT环境三、服务端示例四、客户端示例五、安全认证示例六、集群搭建示例一、什么是Spring Cloud Config?...
    99+
    2024-04-02
  • SpringCloud微服务之Config知识点有哪些
    这篇文章主要介绍了SpringCloud微服务之Config知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、什么是Spring Cloud Config?Spr...
    99+
    2023-06-15
  • SpringCloud微服务基础知识点
    这篇文章将为大家详细讲解有关SpringCloud微服务基础知识点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、什么是Spring Cloud?SpringCloud 对常见的分布式系统模式提供了简单...
    99+
    2023-06-15
  • java基础之String知识总结
    目录一、概念二、特点三、三种构造方式:四、字符串常量池一、概念 String代表字符串,java语言中所有双引号的字符串都是String的对象,不管是否是new出来的对象。 二、特点...
    99+
    2024-04-02
  • Spring5学习之基础知识总结
    目录1.概述2.入门Demo3.源码1.概述 1、Spring 是轻量级的开源的 JavaEE 框架 2、 Spring 可以解决企业应用开发的复杂性 3、Spring 有两个核心部...
    99+
    2024-04-02
  • Java基础知识总结之继承
    目录一、继承的基本概念二、继承的好处和弊端三、继承中变量访问的特点四、super关键字五、继承中构造方法的访问特点六、继承中成员方法的访问特点七、方法重写八、包九、修饰符十、stat...
    99+
    2024-04-02
  • Python基础之元编程知识总结
    目录一、前言二、ImportTime vs RunTime三、元类四、装饰器五、对数据的抽象–描述符六、控制子类的创建——代替元类的方法一、前言 首先说,Python中一切皆对象,老...
    99+
    2024-04-02
  • SpringBoot任务之定时任务相关知识总结
    01: 异步任务 03: 邮件任务 一、SpringBoot--任务:定时任务 项目开发中经常需要执行一些定时任务,比如需要在每天凌晨的时候, 分析一次前一天的日志信息,Spri...
    99+
    2024-04-02
  • Java基础之位运算知识总结
    目录一、位运算的分类与展现效果二、原理三、边界值测试一、位运算的分类与展现效果 java位运算可以分为左移和右移,其中右移还有无符号右移。   java只对整型位移,可...
    99+
    2024-04-02
  • BUUCTF 之 代码审计知识点总结
    [HCTF 2018]WarmUp isset($a)判断a是否声明(有值) is_string($b)判断b是否是字符串 in_array($c,$d)判断c是否在b数组里有。 mb_subst&#...
    99+
    2023-09-07
    php 安全 web安全
  • Spring源码解析之BeanPostProcessor知识总结
    一、简介 BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。 实例化Bean做前置处理、后置处理 二、接口定义 @Component publ...
    99+
    2024-04-02
  • js知识点总结之getComputedStyle的用法
    getComputedStyle()这个方法来获取元素当前的样式 这个方法是window的方法,可以直接使用 需要两个参数 第一个:要获取样式的元素第二个:可以传递一个伪元素,一般都...
    99+
    2022-11-13
    getcomputedStyle用法 window.getComputedStyle() 方法
  • java基础之泛型知识点总结
    目录一、什么是泛型?为什么要使用泛型? 二、泛型的特性是什么?三、泛型的使用方式 四、Java中的泛型通配符一、什么是泛型?为什么要使用泛型? 泛型,即“参数化...
    99+
    2024-04-02
  • SpringCloud微服务应用config配置中心详解
    目录前言一、传统应用配置痛点二、Config 配置中心介绍三、服务端Config Server搭建1.pom依赖2.application启动类配置3.application.yml...
    99+
    2024-04-02
  • Java游戏服务器系列之Netty相关知识总结
    目录一、简介二、Netty的应用场景三、异步和事件驱动性四、Netty核心组件五、总结一、简介 Java的底层API逐渐复杂,而开发者面对的开发场景需求也在逐渐增大。如果直接针对底层...
    99+
    2024-04-02
  • 云服务器相关知识点总结
    云服务器是一种虚拟的、服务器化的服务,可以提供按需使用、按量计费的服务,可以实现弹性扩展、自动负载均衡、快速响应、高可靠性等一系列功能,是许多企业和开发者的重要选择。以下是一些云服务器相关的知识点总结: 什么是云服务器:云服务器是一种通...
    99+
    2023-10-26
    知识点 服务器
  • Java数据结构之链表相关知识总结
    一、链表 1.1 概述 链表是真正动态的数据结构,最简单的动态数据结构,基本用于辅助组成其他数据结构。 数据存储在“节点”(Node)中 优点:真正的动态,不需要处理固定容量的问题...
    99+
    2024-04-02
  • JVM知识总结之垃圾收集算法
    目录一、什么是垃圾1.1 引用计数算法1.1.1 优点1.1.2 缺点1.2 可达性分析算法1.2.1 优点 二、什么是引用2.1 JDK1.2以前2.2 JDK1.2之后...
    99+
    2024-04-02
  • C语言学习之指针知识总结
    目录一、地址二、指针与指针变量三、指针的作用四、初学指针时常见的错误五、通过调用函数修改主调函数中的值六、指针与一维数组七、使用函数操作一维数组八、指针变量所占字节数九、静态数组的缺...
    99+
    2024-04-02
  • C语言学习之函数知识总结
    目录前言一、引入二、认识函数三、函数的作用四、函数的返回值五、定义函数六、函数的类型七、return语句与break语句的区别八、函数的分类九、主函数十、函数使用举例十一、函数的声明...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作