吊炸天,腾讯开源的一站式微服务解决方案

SpringCloudTencent是腾讯开源的微服务解决方案,基于SpringCloud并集成PolarisMesh,提供服务注册、路由、限流等功能。文章详细介绍了其模块和应用场景,如元数据路由、规则路由和就近路由,以及单机和分布式限流策略。
摘要由CSDN通过智能技术生成

项目介绍

Spring Cloud Tencent 是腾讯开源的一站式微服务解决方案。

Spring Cloud Tencent 实现了Spring Cloud 标准微服务 SPI,开发者可以基于 Spring Cloud Tencent 快速开发 Spring Cloud 云原生分布式应用。

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

Spring Cloud Tencent提供的能力包括但不限于:

alt

项目模块

alt
模块名模块说明使用文档
spring-cloud-starter-tencent-all包含所有主线功能的依赖,无需按照功能一个个引入依赖
spring-cloud-starter-tencent-metadata-transfer扩展 feign 的能力,自动在链路上传递元信息。例如用于路由标签信息传递、tracer上下文信息传递等
spring-cloud-starter-tencent-polaris-circuitebreaker北极星的熔断模块
spring-cloud-starter-tencent-polaris-config北极星的配置中心模块
spring-cloud-starter-tencent-polaris-discovery北极星的服务发现模块
spring-cloud-starter-tencent-polaris-ratelimit北极星的限流模块
spring-cloud-starter-tencent-polaris-router北极星的路由模块
spring-cloud-tencent-commons所有模块的基础模块,定义最核心的工具类,数据模型
spring-cloud-tencent-coverage项目单元测试覆盖率模块
spring-cloud-tencent-dependencies项目对外提供依赖BOM
spring-cloud-tencent-examples项目的使用样例代码
spring-cloud-tencent-plugin-starters插件模块,提供常见场景的快速应用
spring-cloud-starter-tencent-discovery-adapter-plugin多服务注册中心适配器插件
spring-cloud-starter-tencent-tsf-adapter-plugin北极星商业化适配器插件
spring-cloud-tencent-featureenv-plugin测试环境路由插件
spring-cloud-tencent-gateway-pluginSCG 插件,用于提供网关常见的功能
spring-cloud-tencent-polaris-contextpolaris 的上下文模块,例如装载 polaris 服务的地址信息等。所有 polaris starter 都依赖此模块
spring-cloud-tencent-polaris-loadbalancerpolaris 的负载均衡模块,用于承载 polaris 的路由插件,2020版及以后无需此模块
spring-cloud-tencent-rpc-enhancementRPC调用增强模块,提供 Feign、RestTemplate 的增强拓展功能

服务注册与路由

应用成功启动后,到 Polaris 控制台查看服务注册信息。如下图所示:

alt

在微服务领域,由于服务做了细粒度的拆分部署服务变的非常的轻量灵活。在结合 k8s 云原生极速弹性能力之后变的更加的强大。但是底层的 Paas 能力只是提供了基础弹性能力,真正发挥能力需要依赖上层的流量调配的能力。

放眼 Spring Cloud 生态,能够深度整合 Spring Cloud 提供场景化服务路由能力的组件套件并不多。这里解释一下场景化,服务调用框架根据一定的规则实现服务路由的能力我们称之为底层原子能力。原子能力是非常通用的能力,但是很多时候并不能直接用于具体的业务场景。例如常见的测试环境分组,就近路由,蓝绿发布等称之为场景。服务路由只有做了场景化之后,才能真正做到开箱即用服务于业务。

Spring Cloud Tencent Polaris Router 目前实现了两种场景化的路由能力以及一种非常灵活的规则路由的能力。

元数据路由

alt

规则路由

alt

就近路由

alt

服务限流

单机限流

单机限流是针对单个被调实例的级别的限流,流量限额只针对当前被调实例生效,不共享,如下图所示。单机限流一般适用于保护服务自身不被打垮,按照每个服务集群单机的容量来计算配额。

alt

分布式限流

分布式限流是针对服务下所有实例级别的限流,多个服务实例共享同一个全局流量限额,如下图所示。分布式限流一般适用于保护第三方服务或者公共服务(比如保护数据库);或者是在网关层进行限流,对通过网关接入的后端服务进行保护。

alt

总结

以上只是简单介绍了 Spring Cloud Tencent 部分能力,想详细了解更多的能力请访问Github 官方主页。

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值