-
Notifications
You must be signed in to change notification settings - Fork 498
SCT Agent 服务路由
liaochuntao edited this page Nov 23, 2022
·
4 revisions
在 Polaris Java Agent 安装目录下的 conf 文件夹,找到 application.properties 文件,并按照如下进行配置
# 配置服务名称
spring.application.name=${服务名称信息}
# 开启 polaris java agent 的服务注册发现能力
spring.cloud.discovery.enabled=true
# 设置北极星注册中心地址
spring.cloud.polaris.address=grpc\://127.0.0.1\:8091
# 设置注册的命名空间信息
spring.cloud.polaris.namespace=default
## 启用 Spring Cloud Tencent 的就近路由能力
spring.cloud.polaris.router.enabled=true
# 启用北极星的自定义路由能力
spring.cloud.polaris.router.rule-router.enabled=true
启动 Demo 应用
这里我们启动两个服务提供者
# 构建服务提供者
```bash
mvn clean install
启动第一个服务提供者
java -javaagent:/data/provider-agent/polaris-java-agent-${version}/polaris-agent-core-bootstrap.jar -Dspring.cloud.tencent.metadata.content.env=prod -jar provider-2.6.11.jar
启动第二个服务提供者
java -javaagent:/data/provider-agent/polaris-java-agent-${version}/polaris-agent-core-bootstrap.jar -Dspring.cloud.tencent.metadata.content.env=dev -jar provider-2.6.11.jar
# 构建服务调用者
mvn clean install
export SCT_TRAFFIC_CONTENT_RAW_TRANSHEADERS=uid
java -javaagent:/data/consumer-agent/polaris-java-agent-${version}/polaris-agent-core-bootstrap.jar -jar consumer-2.6.11.jar
设置服务兜底规则
设置测试环境路由规则, 我们规定携带了 http header 为 uid: polaris 的请求全部走到带有标签 env: dev 的服务实例
在 Spring Cloud 启动日志中,找到如下日志信息, 则表示 Polaris Java Agent 已经成功拦截原本 Spring Cloud 应用的 HttpHandler,并成功注入北极星动态路由能力。
[PolarisAgent] org.springframework.web.servlet.DispatcherServlet enable add ServletFilter to build transfer metadata ability
测试服务调用
curl http://127.0.0.1:18083/echo/hello
Hello, I'm provider, receive msg : hellomy metadata : {"internal-address":"10.21.6.36:51501", "env":"prod","protocol":"http","internal-ip":"10.21.6.36"}
curl -H 'uid: polaris' http://127.0.0.1:18083/echo/hello
Hello, I'm provider, receive msg : hellomy metadata : {"internal-address":"10.21.6.36:51501", "env":"dev","protocol":"http","internal-ip":"10.21.6.36"}
- 您在使用过程中遇到任何问题,请提 Issue 或者加入我们的开发者群告诉我们,我们会在第一时间反馈
- Spring Cloud Tencent 社区期待您的加入,一个 Star、PR 都是对我们最大的支持
- 项目介绍
- 使用指南
- 最佳实践
- 开发文档
- 学习资料