前言
好久不更新CSDN了。这次端午活动参与一下,发一篇文章来更新技术。
介绍
一句话:SpringCloud-Tencent就是北极星(Polaris)包含了注册中心、配置中心、路由、服务限流、熔断降级。可以一打五
SpringCloud-Tencent是腾讯开源的一套微服务架构体系,包含了网关/路由、配置中心、注册中心等基础组件,也包含了限流模块、熔断模块等。框架本身是基于Polaris(北极星)服务的,Polaris服务整合了以上所有组件,提供了一站式微服务综合解决方案。
官网地址:https://polarismesh.cn/
组成
1、注册中心 - Spring Cloud Tencent Discovery
2、配置中心 - Spring Cloud Tencent Config
3、网关路由 - Spring Cloud Tencent Router
4、服务限流 - Spring Cloud Tencent Rate Limit
5、熔断降级 - Spring Cloud Tencent CircuitBreaker
6、服务调用 - Feign或RestTemplate
对比
1、[√] 配置中心支持配置属性更新回调
2、[x] 配置中心支持 import,但仍必须配置bootsrap.yaml。
3、[√] 控制台内存占用小于nacos。
4、[√] 集成类似于阿里Sentinel的功能
5、[x] 默认占用常用端口,比如8080、8090
端口
polaris-console:8080(http/tcp)
polaris-server:8090(http/tcp,注册中心端口)、8091(grpc/tcp,注册中心端口)、8093(grpc/tcp,配置中心端口)
prometheus:9090(tcp)
pushgateway:9091(tcp)
===============================下面开始整合SpringBoot
SpringBoot整合
前言
先引入依赖管理。
注意,SpringBoot需要在2.3.X版本。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-tencent-dependencies</artifactId>
<version>1.5.0-Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
SpringBoot的版本:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/>
</parent>
如果SpringBoot升级后报错,还需要引入下面的依赖。
<!-- SpringBoot 2.3.X所需jar包 -->
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
如果需要所有模块,就不需要每个模块单独引入,直接引入所有。
<dependency>
<groupId>com.tencent.polaris</groupId>
<artifactId>polaris-all</artifactId>
</dependency>
服务注册
注册中心同样分成服务端和客户端,服务端基于Polaris
第一步
引入依赖。
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-polaris-discovery</artifactId>
</dependency<