Skip to content

服务路由基础操作

lepdou edited this page Dec 14, 2022 · 17 revisions

目录

简介

本文档将介绍如何在 Spring Cloud 项目中使用 Spring Cloud Tencent Router 的功能,是使用所有类型服务路由公共的部分。

完整 Example 代码请参考:polaris-router-example

第一步:引入 Polaris 服务端

请参考 安装北极星服务端

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

1. 参考 Spring Cloud Tencent 版本管理 文档获取最新的版本号,引入 Spring Cloud Tencent Bom

注意一: Spring Cloud 、 Spring Boot 、 Spring Framework 之间有严格的版本对应关系,在 Spring Cloud Tencent 版本管理 文档中有详细罗列版本兼容性关系。请您在引入 Spring Cloud Tencent 版本时,根据项目 Spring Boot 和 Spring Framework 的版本,选择合适的 Spring Cloud Tencent 版本。

注意二:服务路由在 1.5.0 版本之后,提供了完善的服务路由能力。所以版本号需大于 1.5.0

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.tencent.cloud</groupId>
            <artifactId>spring-cloud-tencent-dependencies</artifactId>
            <version>1.8.2-Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2. 引入相关的 Starter

2.1 被调端

方式一:只引入 spring-cloud-starter-tencent-polaris-discovery

<dependency>
    <groupId>com.tencent.cloud</groupId>
    <artifactId>spring-cloud-starter-tencent-polaris-discovery</artifactId>
</dependency>

方式二:通过 spring-cloud-starter-tencent-all 引入 sct 所有 starters

<dependency>
    <groupId>com.tencent.cloud</groupId>
    <artifactId>spring-cloud-starter-tencent-all</artifactId>
    <!-- 注意需要指定 type=pom-->
    <type>pom</type> 
</dependency>

如果使用 Spring Cloud 2021 版本,还需要添加如下依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

2.2 主调端

方式一:同时引入 spring-cloud-starter-tencent-polaris-discoveryspring-cloud-starter-tencent-polaris-router

<dependency>
    <groupId>com.tencent.cloud</groupId>
    <artifactId>spring-cloud-starter-tencent-polaris-discovery</artifactId>
</dependency>

<dependency>
    <groupId>com.tencent.cloud</groupId>
    <artifactId>spring-cloud-starter-tencent-polaris-router</artifactId>
</dependency>

方式二:通过 spring-cloud-starter-tencent-all 引入 sct 所有 starters

<dependency>
    <groupId>com.tencent.cloud</groupId>
    <artifactId>spring-cloud-starter-tencent-all</artifactId>
    <!-- 注意需要指定 type=pom-->
    <type>pom</type> 
</dependency>

如果使用 Spring Cloud 2021 版本,还需要添加如下依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

第三步:bootstrap.yml 增加北极星相关配置

spring:
  application:
    name: ${application.name}
  cloud:
    polaris:
      address: grpc://${修改为第一步部署的 Polaris 服务地址}:8091
Clone this wiki locally