Skip to content

服务路由基础操作

Haotian Zhang edited this page Sep 15, 2022 · 18 revisions

目录

简介

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

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

第一步:引入 Polaris 服务端

方式一:搭建本地北极星服务

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

方式二:使用北极星开源提供的体验环境

方式三:使用腾讯云北极星服务

腾讯云提供了免运维的北极星云服务,基于云服务可以快速开通生产级高可用北极星集群 了解更多

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

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

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

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

2. 引入 Spring Cloud Tencent Router 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 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 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