使用gitee管理微服务配置文件

本文介绍了如何在Gitee上管理微服务配置,包括创建服务配置文件、配置中心的搭建,以及如何让服务从配置中心获取配置。通过实例演示了SpringCloud Config在分布式系统中的应用和配置迁移过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

在分布式系统中,由于服务数量非常多,配置文件分散在不同的微服务项目中,管理不方便。为了方便配置文件集 中管理,需要分布式配置中心组件。在Spring Cloud中,提供了Spring Cloud Config,它支持配置文件放在配置服 务的本地,也支持放在远程Git仓库(GitHub、码云)。
使用Spring Cloud Config配置中心后的架构如下图:
在这里插入图片描述

在gitee上创建服务提供者的配置文件

在新建的仓库中创建需要被统一配置管理的配置文件。

配置文件的命名方式:{application}-{profile}.yml 或 {application}-{profile}.properties
	application为应用名称 
	profile用于区分开发环境,测试环境、生产环境等

如下图:
在这里插入图片描述

搭建配置中心微服务

1:创建项目
2:添加依赖
3:创建配置中心工程 config-server 的启动类
4:配置文件如下

server:
  port: 12000 //端口号

spring:
  application:
    name: config-server //服务名称
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/LhTue/my-config.git # 配置的git远程地址

eureka:
  client:
    service-url:
      defaultZone: HTTP://127.0.0.1:10086/eureka //注入到自己的eureka中

获取配置中心配置

前面已经完成了配置中心微服务的搭建,下面我们就需要改造一下用户微服务提供者 user-service ,配置文件信息不再由 微服务项目提供,而是从配置中心获取。如下对 user-service 工程进行改造。

修改配置:

  • 删除 user-service 工程的 user-service\src\main\resources\application.yml 文件(因为该文件从配置 中心获取)
  • 创建 user-service 工程 user-service\src\main\resources\bootstrap.yml 配置文件

bootstrap.yml文件也是Spring Boot的默认配置文件,而且其加载的时间相比于application.yml更早。

spring:
  cloud:
    config:
      # 要与仓库中的配置文件的application保持一致
      name: user
      # 要与仓库中的配置文件的profile保持一致
      profile: dev
      # 要与仓库中的配置文件的profile保持一致
      label: master
      discovery:
        # 使用配置中心
        enabled: true
        # 配置中心服务名
        service-id: config-server
  application:
    name: user-service


eureka:
  client:
    service-url:
      defaultZone: HTTP://127.0.0.1:10086/eureka

测试:启动注册中心 eureka-server 、配置中心 config-server 、用户服务 user-service ,如果启动没有报错说明使用gitee管理配置成功。

最后,如果有问题,希望指正,一起进步。

### 实现微服务Gitee 的 OAuth2 登录集成 #### 配置 Spring Security OAuth 客户端支持 Gitee 登录 为了使微服务能够通过 Gitee 进行 OAuth2 认证,需先配置 `spring-security-oauth` 来作为客户端并指定特定于 Gitee 的 provider 设置[^1]。 在项目的依赖管理文件(通常是 Maven 或 Gradle 文件)中加入必要的安全性和 Web 依赖项之后,在应用程序的主要配置类里注册一个新的 Bean 类型为 `ClientRegistrationRepository` 和 `OAuth2AuthorizedClientService`。这些组件负责存储关于已知 providers 的信息以及处理授权流程中的 token 请求。 对于具体的 Gitee 授权服务器详情,则应在 application.yml 中定义如下: ```yaml spring: security: oauth2: client: registration: gitee: client-id: your-client-id-here client-secret: your-client-secret-here scope: user_info, email authorization-grant-type: authorization_code redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}" client-name: Gitee Login provider: gitee: issuer-uri: https://gitee.com/oauth/authorize token-uri: https://gitee.com/oauth/token jwk-set-uri: https://gitee.com/oauth/open_api/jwks.json ``` 上述 YAML 片段指定了用于连接至 Gitee API 所必需的各项参数,包括但不限于 Client ID、Secret Key 及回调 URL 等重要字段;同时也设置了获取访问令牌和服务发现文档的位置[^3]。 #### 创建自定义 Provider 并完成认证过程 由于默认情况下 Spring Boot 不直接提供对 Gitee 的内置支持,因此还需要创建一个扩展来自定义实现 `OAuth2UserService` 接口的服务来解析从 Gitee 返回的数据结构,并将其转换成适合本地使用的用户对象形式。这一步骤通常涉及编写额外的 Java/Kotlin 代码片段以适配具体业务逻辑需求。 当一切准备就绪后,启动应用程序并通过浏览器导航到受保护资源页面触发重定向至 Gitee 登录界面的过程。成功验证身份后,Gitee 将把控制权返回给先前设置好的 Redirect URI 处理程序继续后续操作直至最终获得有效的 Access Token[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值