如何用Git设置Spring Cloud配置服务器

公司正在慢慢采用整体架构上的微服务来扩展应用程序。与单体相比,微服务架构将应用程序分解为小型、可管理的服务,即微服务。这意味着一个整体应用程序可以转换为许多微服务,并且这些服务是独立开发和部署的。这些服务相互协作以实现业务目标。每个微服务管理它们自己的特定于应用程序的属性文件,即application.properties .在大多数情况下,多个微服务及其多个实例一起运行以满足业务需求。属性文件中的任何更新都可能需要重新部署和重新启动服务。考虑这样一种情况:需要在数百个服务及其实例上进行属性更新。这可能需要相当长的停机时间。

为了解决这个问题,Spring Boot提供了一个Spring配置服务器。这将在运行时从一个点管理所有服务的属性文件。

Spring云配置服务器的优势
管理所有与应用程序相关的配置属性及其版本的集中式应用程序。
如果有任何属性更改,将只更新集中式存储库,并且所有相关服务将接收更新的属性更改,而无需重新部署或重启微服务应用程序,即无需重新部署或重启微服务即可在运行时更新应用程序属性。
客户端-服务器通信架构,即Spring Boot提供客户端和服务器专用组件。服务器管理存储库中的所有属性,而微服务充当服务器的客户端来消费属性。
通过对敏感数据进行加密来保护对存储库的访问。
支持与多种环境相关的属性,如开发、试运行、UAT和生产。
在这里插入图片描述
本教程有助于开发一个完整的工作示例,以便更好地理解以下概念:

1.存储库(商店配置)。

2.云配置服务器(从存储库中读取配置)。

3.云配置客户端(通过云配置服务器读取配置)。

4.更新配置并触发刷新事件。

本教程将涵盖第1点和第2点。另一个教程将介绍第3点和第4点。让我们在安装了Java8、Maven和Eclipse的基本假设下学习教程。

先决条件
Java 1.8以上
专家
带有Spring工具套件的eclipse(STS)
饭桶
配置存储库
1.从安装Githttps://git-scm.com/downloads如果您的机器上没有。使用下面的命令可以很容易地检查Git。
在这里插入图片描述
2.创建一个保存配置文件的文件夹,例如config-properties。添加属性文件,例如,你好-服务。属性具有以下属性:

message=Hello world - this message is from config server

3.保存为客户端服务名称的文件名,而不是application.properties。这里客户端服务的名称是你好-服务。因此文件名被认为是你好-服务。属性

spring.application.name=hello-config-server
2
server.port=8888
3
spring.cloud.config.server.git.uri=file:///d:/config-properties

现在,借助以下命令初始化配置文件夹中的Git。这些命令将有助于提交Git存储库中的属性文件:

$> cd config-properties
$> git init
$> git add .
$> git commit -m 'Initial Release'$> git init
$> git add .
$> git commit -m 'Initial Release'

考虑到开发和UAT等各种其他环境,让我们再添加几个文件。将这些文件也添加并提交到存储库中(请参考上述步骤)。

message=Hello world - this message is from config server

你好-服务-开发。属性

message=Hello world - this message is from development

hello-service-uat.properties

message=Hello world - this message is from UAT

创建本地Git存储库并用于开发/测试目的。对于生产部署,存储库可以更加安全,并保存在Github、Bitbucket、Gitlab、AWS Code commit等上的远程位置。
云配置服务器安装程序
1.创建一个Spring Starter项目,名称如下HelloConfigServer。选择spring版本2.3.7(不要选择2.4.1因为它在显示属性文件时有问题)与配置服务器和DevTools(用于轻松重新部署)等依赖关系。
在这里插入图片描述
创建项目后,转到资源文件夹中的application.properties文件,并在文件中添加以下内容:

spring.application.name=hello-config-server
server.port=8888
spring.cloud.config.server.git.uri=file:///d:/config-properties

在端口8888运行配置服务器是标准做法。对于Windows环境,请保留一个额外的“/”。对于其他环境,“//”将起作用。spring . cloud . config . server . git . uri = file://d:/config-properties
对于远程存储库,示例GitHub配置如下所示:

spring.cloud.config.server.git.uri=https://github.com/abcd/springboot
spring.cloud.config.server.git.uri.username=test
spring.cloud.config.server.git.uri.password=test

现在打开主应用程序文件,即HelloConfigServerApplication.java,并添加@EnableConfigServer注释使其成为配置服务器。最终的java文件将如下所示

package com.hello.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@EnableConfigServer
@SpringBootApplication
public class HelloConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(HelloConfigServerApplication.class, args);
    }
}

现在所有基本配置都已完成。让我们以SpringBootApp的身份运行应用程序。根据配置,Tomcat服务器将以8888启动。检查以下URL(这将从存储库中选择默认配置文件)。
http://localhost:8888/hello-service/default
如果收到以下响应,则所有配置都正常,即配置服务器正在从Git存储库中获取默认属性。

{
  "name": "hello-service",
  "profiles": [
    "default"
  ],
  "label": null,
  "version": "3da88aa3c6103cc7f2b383a3ee5d5dad5e6e870c",
  "state": null,
  "propertySources": [
    {
      "name": "file:///d:/config-properties/hello-service.properties",
      "source": {
        "message": "Hello world - this message is from config server"
      }
    }
  ]
}

要访问开发环境文件,请使用以下URL:http://localhost:8888/hello-service/development。

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值