SpringCloud Config 客户端配置与测试|学习笔记

简介: 快速学习 SpringCloud Config 客户端配置与测试

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

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


SpringCloud Config 客户端配置与测试

 

自己带一个 application.yml,现在是看A,B和C去通过334来读到GitHub的信息。 图片1.png1. 在本地

D:\44xmySpringCloud\microservicecloud-config路径下新建文件microservicecloud-config-client.yml

在电脑中找到相应的目录下新建一个新的文件夹同时将其命名为microservicecloud-config-client.yml。同时右键点击打开记事本。

2. microservicecloud-config-client.yml内容

其中的 port:xxx 是端口号,dev 和 test 指的是配置文件。当我们的配置为 dev 时,端口号是8201并输出对应的 dev 的信息。而配置为 test,端口号为8202并对应输出test的信息。同时 eurka 在其中只是一个配置文件。

spring:

Profiles:

active:

- dev

---

server:

port: 8201

spring:

profiles: dev

application:

name: microservicecloud-config-client

eureka:

client:

service-url:

defaultZone: http: / /eureka-dev.com: 7001/eureka/

---

server:

port: 8202

spring:

profiles: test

application:name: microservicecloud-config-client

eureka:

client:

service-url:

defaultZone: http: //eureka-test.com:7001/eureka/

将其以上的代码输入记事本当中,以UT-8的形式保存到记事本中.

3. 将上一步提交到GitHub中

点击config-client.yml文件

分别输入 git status

git add.

git commit -m”test config”

git push origin master四条指令,如果成功执行的话我们就可以看见git下面会显示两个配置文件。

3.新建 microservicecloud-config-client-3355

就相当于我们尝试一下 ClientA 是否能通过 3344(Config Server)获取到Git上远程地址链接,拿到外置的统一配置分化管理。

图片1.png

首先点右键中新建的 other,选择Maven Module命名为microservicecloud-config-client-3355。 

4. POM

同时按照惯例,将POM里的修改内容和全部内容依次创建然后粘贴内容。

修改内容

第四行的config后就没有再接server说明他是server端。

<! -- SpringCloud Config客户端-->

<dependency>

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

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

</dependency>

全部内容

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

<parent>

<groupid>com.atguigu.springcloud</groupId>

<artifactId>microservicecloud</ artifactId>

version>e.e.1-SNAPSHOT</version>

</parent>

<artifactid>microservicecloud-config-client-3355</artifactid>

<dependencies>

<l--SpringCloud Config客户端-->

<dependency>

<dependency>

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

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

</ dependency>

<dependency>

5. bootstrap.yml

我们在讲 DVM 的时候曾经讲过 class.类装载器,bootstrap 是系统级的封装显示最高权限的。

言下之意 bootstrap.yml 说明她也是一个配置文件。我们首先创建一个文件命名为 bootstrap.yml。

5.1applicaiton.ym 是什么

applicaiton.yml是用户级的资源配置项

bootstrap.ym1是系统级的,优先级更加高

Spring Cloud会创建一个'Bootstrap Context',作为 Spring 应用的` Application Context 的父上下文。初始化的时候,`Bootstrap Context'负责从外部源加载配置属性并解析配置。这两个上下文共享一个从外部获取的Environment'。

'Bootstrap`属性有高优先级,默认情况下,它们不会被本地配置覆盖。‘Bootstrap context和Application Context有着不同的约定。

所以新增了一个'bootstrap.yml'文件,保证`Bootstrap Context和`Application Context`配置的分离。

在此处只要保证3355能够连上3344,就可以直接通过3344就可以得到本次要访问的文件。因为3344就是连着这个Git库所以就可以直接得到本次要访问的文件信息。

由代码可以知道为dev配置,所以一切顺利的话就会输出端口号为8201,名字为 microservicecloud-config-client。

spring:

cloud:

config:

name: microservicecloud-config-client #需要从github上:读取的资源名称,注意没有yml后缀名

profile: dev#本次访问的配置项

label: master

uri: http://config-3344.com:3344 #木微服缝启动后先去找3344号服务,通过 SpringCloudConfig 获取 GitHub 的服务地址

6. application.yml

依旧把 appplication.yml 再 cloud 里面要必须要保证,所以此时3344为大管家,3355为客户,3355通过3344来获取远端的GitHub。

此时我们需要 appplication.yml 然后然后它获取对应的信息。同时bootstrap.yml为系统级的配置文件,比用户级的大一级,所以只用留一个名字就行。同时要注意名字一定要一致。

spring:

application:

name: microservicecloud-config-client

7. windows 下修改 hosts 文件,增加映射——127.0.0.1 client-config.com

同时再做一次 host 增加文件的映射.(不再演示)

127.0.0.1

conlig-3344.com

127.o.o.1

client-config.cord

8. 新建rest类,验证是否能从GitHub上读取配置

无论如果此时我们的默认配置是Dev,判断能否从

GitHub里面获取配置信息。

package com.atguigu.springcloud.rest;

import org.springframework.beans.factory.annotation.Value;

Import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@Restcontroller

public class ConfigclientRest {

//其中获得了三个变量,是从配置文件中获取信息

@value("${spring.application.name} ")

private string applicationName;

@Value("${eureka.client.service-url.defaultZone}")

private string eurekaServers;

@Value("${server.port}")

Private String port;

@RequestMapping(" /config")

public string getConfig( )

{

String str = "applicationName: "+applicationName+"\t eurekaServers :" eurekaServers+"\t port:" port;

System.out.println(""*家赛家市*str: "+str);

return "applicationName: "+applicationName+"\)t eurekaServers: " +eurekaServers+"\[t port: "+port;

}

}

新建一个名为com.atguigu.springcloud.rest包,同时在包下新建一个ConfigClientRest的类。将代码粘贴放入。

9. 主启动类ConfigClient_3355_StartSpringCloudApp

package com.atguigu.springcloud;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class Configclient,3355_startSpringcloudApp

{

public static void main(String[ ] args)

{SpringApplication.run(ConfigClient_3355_StartSpringCloudApp.class,arg);

}

}

在 com.atguigu.springcloud.rest 包里面新建一个类名为ConfigClient_3355_StartSpringCloudApp 的类,将代码中的rest删除然后右键打开文件夹,将其移至atguigu下面,同时再刷新一下。

最后别忘了刷新 microservicecloud-config-client-3355 工程,成功之后就会显示如图。最后把主启动类的代码放进去。

10. 测试

我们先把3344和3355都启动,看看3355是否能通过3344来获取信息,下载到本地。

图片4.png

启动Config配置中心3344微服务并自测

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

启动3355作为 Client 准备访问

bootstrap.yml 里面的 profile 值是什么,决定从 github 上读取什么 

假如目前是profile: dev

l dev 默认在github.上对应的端口就是8201

l http://client-config.com:8201/config

假如目前是 profile: test

l test 默认在 github.上对应的端口就是8202

//就相当于于是做了我们的域名映射

l http://client-config.com:8202/config 

DEV时:

根据之前我们知道本地配置是dev,可以看到dev一切顺利的话端口号是8201,言下之意就是说我们的rest此时的端口号值就是8201.

可以通过运行的结果看出,现在我们取的 config-client,在 dev 配置的时候,输出的端口号是8201。

2. TEST时:

如果要查看test的结果是就应该将 boostrap.yml 中的 dev 改成test,此时就是以同一配置文件变相的进行了切换。我们就可以看到端口号变成了8202.

成功实现了客户端3355访问 SpringCloud Config3344 通过GitHub 获取配置信息

相关文章
|
21天前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
43 4
|
2月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
117 13
|
9月前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
271 86
|
9月前
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
290 67
|
8月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
863 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
10月前
|
域名解析 弹性计算 监控
slb测试基本配置检查
slb测试基本配置检查
271 60
|
9月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
227 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
4月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
760 23
|
9月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
6月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
728 24

热门文章

最新文章