zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

【SCT】Spring Cloud Tencent Commons

2023-02-18 16:35:41 时间

【引用】

Spring Cloud Tencent 是腾讯开源的一站式微服务解决方案。SCT实现了Spring Cloud 标准微服务 SPI,开发者可以基于 Spring Cloud Tencent 快速开发 Spring Cloud 云原生分布式应用。

Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polaris,实现各种分布式微服务场景。

版本信息

https://github.com/Tencent/spring-cloud-tencent

spring-cloud-tencent:1.6.0-Hoxton.SR12-SNAPSHOT

Spring Cloud:Hoxton.SR12

Spring Framework:5.2.22.RELEASE

【Spring Cloud Tencent Commons】

基础公共工程,提供了两大基础功能:自定义的 Polaris 实现类、元数据上下文逻辑实现,以及一些常用的工具类:应用上下文工具类、Bean 工厂工具类等。

【Polaris 实现类】

自定义​的服务中心(Polaris)实现类,组装了服务接口实例为后续服务注册发现提供例如:实例IP、端口、服务分组、服务名称等基础信息。

PolarisServer.java

PolarisServiceInstance.java

【元数据上下文】

约定了服务中需要传递的元数据,可以分为以下三大类。

元数据来源:

1、系统环境变量(例如:win 系统环境变量)

2、应用配置文件

3、HTTP Header 参数

元数据传递类型:

1、所有元数据(不可传递)

2、可传递元数据(指定传递 Key)

元数据位置:

1、Campus(园区)

2、Zone(区域)

3、Region(大区)

【元数据实现逻辑】

应用启动时,将 MetadataLocalProperties 、StaticMetadataManager 实例注入到 Spring 容器中,通过容器管理实例。

MetadataLocalProperties.java

本地配置文件的元数据属性类,提供读取配置文件中有关元数据的配置数据。

StaticMetadataManager

提供自定义构造器,读取配置文件(入参)、系统配置元数据、系统位置元数据,对不同来源的元数据进行单独、合并。

【结尾】

一年已经过去大半,是时候定一个小目标:阅读学习优秀的开源项目源代码。

本文是 Spring Cloud Tencent 第一篇文章,希望今年能完成整个 SCT 源代码的阅读与学习。