SpringCloud Config服务端的配置|学习笔记

简介: 快速学习 SpringCloud Config 服务端的配置

开发者学堂课程【微服务框架 Spring Cloud 快速入门SpringCloud Config服务端的配置】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/614/detail/9371


SpringCloud Config 服务端的配置

 

此图其中的 ClientA、B 和 C 统一交给它进行管理之后再和Git发生反应,把我们的配置信息由远程的 GitHub 库下载到本地,然后由 Config Server 这个微服务去和外界的 GitHub 沟通。

所以我们的首要任务是将“大管家”Config Server 与 GitHub 这条路给打通。

图片1.png

在之前已经说过 SpringCloud Corifig 分为服务端和客户端两部分。此时的服务端就是 Config Server

用自己的 GitHub 账号在 GitHub 上新建一个名为

microservicecloud-config 的新 Repository

首先找到的 GitHub 新建一个 New repository,

命名为 microservicecloud-config。

同时在 GitHub 上建的项目下载到本地的时候自身都带了一个隐藏变量.git 文件夹。

此时就获得了这个文件库拷贝。

图片1.png

1. 由上一步获得SSH协议的git地址

git@github.com:zzyybs/microservicecloud-config.git

2. 本地硬盘目录上新建git仓库并clone(克隆)

l 本地地址:D:\44\mySpringCloud(依照自己情况更改)

l git命令:

gitclone git@github.com:zzyybs/microservicecloud-config.git

可以理解为这个 44mySpringCloud 路径是一个和开发无关的运维工程师,他可能要处理一个配置类的东西,他就会提交此到GitHub里面,之后大管家就会从上面获取拉取信息。

 图片2.png

首先在此处右键执行 Git 命令,输入 git status 执行,再输入 pwd 可以看到底下显示当前目录下根本没有一个Git库。

所以我们首先输入 git clone 单击我们对应的 Git 相关的下载链接地址回车之后等待克隆。

之后就可以发现目录下显示出了克隆的文件。

我们点击文件夹,首先勾选隐藏的项目,将Git显示出来。我们点进去就可以看见各种本地库和远程库。

在当前目录下面,就检测到是个Git库,当前显示它在master里面,这就全部完成了。

3. D:\44\mySpringCloud\microservicecloud-config里面新建一个application.yml

我们开始模拟运维工程师直接要在刚刚新建的目录下干活,比如新建了一个配置,我们此时就要把这个配置上传然后让大管家获得。

所以我们新建一个文本,然后更改名字以及后缀为application.yml(要以UTF-8的形式保存!否则上传之后会报乱码的问题)

4.1YML内容

spring:

profiles:

active:

- dev

---(保证了同一个文件不同配置环境的问题)

spring:

profiles: dev #开发环境

application:|

name: microservicecloud-config-atguigu-dev

---

spring:

profiles: test#测试环境

application:

name: microservicecloud-config-atguigu-test

#请保存为 UTF-8 格式

保存格式必须为 UTF-8

在另存为的时候要注意切换编码!否则 GitHub 会报错

将上一步的YML文件推送到 github 上

三大命令

git add

git commit -m "init file"

git push origin master(因为我们在master的分支下)

步骤结果

命令清单

此时要将我们的 yml 文件推送到 github 上使用 git 的三大命令

红色表示此时监控到了我们的目录发生了改变,之后我们要从本地硬盘提交它的临时库,同时要注意一定要写提交的注释信息

5.2.2GitHub

在网速还可以的情况下,我们就可以看到,刷新之后就会显示我们提交的文件信息

新建 Module 模块 microservicecloud-config-3344 它即为 Cloud 的配置中心模块

点右键中新建的other,

选择 Maven Module 命名为 microservicecloud-config-33

POM

修改内容

图片3.png

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-config-server</artifactId></dependency>

全部内容

<projectxmlns="http:/maven.apache.org/PON/4.0.0”xmIns:xsi="http://ww.w3.org/2001/XNLSchema-instance"xsi:schemaLocation="http://maven.apache.org/PON/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion>

<parent>

<groupId>com.atguigu.springcloud</groupId><artifactId>microservicecloud

</ artifactId><version>0.0.1-SNAPSHOT</version>

</parent>

<artifactId>microservicecloud-config-3344</artifactId>

<dependencies>

<! -- springCloud Config --><dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-config-server</artifactId></dependency>

<!--避免 Config 的 Git 插件报错:

ong/eclipse/jgit/api/TransportConfigCallback-->

<dependency>

<groupId>org.eclipse.jgit</groupId>

<artifactId>org.eclipse.jgit</artifactId><version>4.10.0.201712302008-rs/version></dependency>

<!--图形化监控–-><dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId></dependency>

<! --熔断-->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-hystrix< /artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</ groupId>

<artifactId>spring-cloud-starter-eureka</ artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud< / groupId>

<artifactId>spring-cloud-starter-config< / artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-jetty< / artifactId>

</ dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</ artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</ artifactId>

</dependency>

<热部署插件>

<dependency>

<groupId>org.springframework</groupId><artifactId>springloaded< / artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId>

</dependency>

</dependencies>

</project>

YML

server:

port: 3344

spring:

application:

name:microservicecloud-config

cloud:

config:

server:

git:

uri:git@github.com:zzyybs/microservicecloud-config.git #GitHub上面的 git 仓库名字

首先新建一个名为 application.yml 的文件,将内容复制进去。我们可以看到uri之后的就是我们前面建立的地址。

主启动类

Config_3344_StartSpringCloudApp --@EnableConfigServer

package com.atguigu.springcloud;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication

@EnableConfigserver

public class Config_3344_stlrtSpringCloudApp

{

public static void main(String[ ] args)

{SpringApplication.run(Config_3344_StartSpringCloudApp.class,args);}

}

4. windows下修改 hosts 文件,增加映射

-127.0.0.1 config-3344.com

5. 测试通过Config微服务是否可以从GitHub上获取配置内容

第一步:启动微服务3344

我们启动时,先打开远端的内容可以发现有两个,说明统一个 yml 文件可以两面配置,这样我们就可以达到一个动态环境的切换。首先我们来看看我们的3344,是否能够成功启动。成功启动。

第二步:

使用http://config-3344.com:3344/application-dev.yml

访问测试是否能够读取到。

application-dev.yml 表示我们要访问 application.yml 中的 -dev 环境,如果顺利的话就会读取到

microservicecloud-config-atguigu-dev。

第三步:访问test环境时,输入以下网址

http://config-3344.com:3344/application-test.yml,出现的-dev就会变成-test。

由此我们就成功的由334连上了我们的Github远程库。同时得到了该库下的两种不同配置环境结果。

http://config-3344.com:3344/application-xxx.yml(不存在的配置)

假设我们输入上方的网址访问了不存在的配置就会报错。 

12.配置读取规则

官网

{application}-{profile}.yml

{application}/{profile}[/{label}]

l http://config-3344.com:3344/application/dev/master

l http://config-3344.com:3344/application/test/ma

l http://config-3344.com:3344/application/xxx/mas

{label}/{application}-{profile}.yml

l http://config-3344.com:3344/master/application-dev.yml

l http://config-3344.com:3344/master/application-test.yml

其中的一种演示结果如图,仅仅是把 master 放在前面。依旧能够成功访问。

以上的形式都可以用于访问。

成功实现了用 SpringCloud Config 通过 GitHub 获取配置信息

相关文章
|
26天前
|
自然语言处理 JavaScript
vue element plus Config Provider 全局配置
vue element plus Config Provider 全局配置
28 0
|
8天前
|
JSON JavaScript 前端开发
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
24 1
|
17天前
|
JavaScript
vue.config.ts配置环境变量
vue.config.ts配置环境变量
20 0
|
25天前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
1月前
Springcloud-ribbon和hystrix配置
Springcloud-ribbon和hystrix配置
8 0
|
2月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
30 0
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
68 1
|
2月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
215 0
|
2月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
786 0
|
2月前
|
Java 数据库连接 开发工具
web后端-SpringCloud-Config分布配置
web后端-SpringCloud-Config分布配置

热门文章

最新文章