Skip to content

Spring Cloud Tencent Router 使用文档

lepdou edited this page Apr 6, 2022 · 26 revisions

模块简介

当 A 服务调用 B 服务时,先从注册中心获取全量 B 服务地址信息。当没有服务路由,直接进行负载均衡时,根据负载均衡算法从全量 B 服务地址中挑选一个服务实例发起服务调用。 当加入服务路由阶段后,挑选服务实例分为两个阶段:

  • 阶段一:从全量服务地址中根据路由规则选取一批目标服务地址
  • 阶段二:从阶段一选取的一批目标服务地址中,再根据负载均衡算法挑选一个实例
image

需要明确一下概念:

  • 服务路由 :根据路由规则从全量实例列表中,挑选一部分实例
  • 负载均衡 :根据负载均衡算法,从一批实例中挑选一个实例

服务路由具有广泛的使用场景,例如金丝雀发布、灰度发布、蓝绿发布、按机房收敛流量等。

Spring Cloud Hoxton 版本之前,Spring Cloud Netflix Ribbon 提供了负载均衡能力,不具备服务路由的能力。 Spring Cloud Tencent Router 则扩展了路由能力。Spring Cloud Tencent Router 集成了 Polaris 的路由功能,提供了开箱即用的路由能力。

快速入门

本章节将介绍如何在 Spring Cloud 项目中使用 Spring Cloud Tencent Router 的功能。 完整 Example 代码请参考:polaris-discovery-example

第一步:准备 Polaris 服务端

搭建北极星服务请参考 Polaris Getting Started

第二步:引入 Spring Cloud Tencent Discovery 依赖

  1. 参考 Spring Cloud Tencent 版本管理 文档获取最新的版本号,引入 Spring Cloud Tencent Bom,例如:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.tencent.cloud</groupId>
            <artifactId>spring-cloud-tencent-dependencies</artifactId>
            <version>1.2.0-Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  1. 引入 Spring Cloud Tencent Router Starter
<dependency>
    <groupId>com.tencent.cloud</groupId>
    <artifactId>spring-cloud-starter-tencent-polaris-router</artifactId>
</dependency>

第三步:增加 Spring Cloud Tencent Router Starter 的配置文件

  1. 在您的 bootstrap.yml 配置文件中加入以下配置内容
spring:
  application:
    name: ${application.name}
  cloud:
    polaris:
      address: grpc://${修改为第一步部署的 Polaris 服务地址}:8091
Clone this wiki locally