Skip to content

SCT Agent 服务注册与发现

liaochuntao edited this page Nov 18, 2022 · 6 revisions

配置 application.properties

在 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
# 设置注册的命名空间信息
#  注意:
#   1. 如果需要开启多注册能力,需要确保已经在 nacos 上创建了命名空间 id 为 ${spring.cloud.polaris.namespace} 的 namespace
#   2. 北极星的默认命名空间等同于 nacos 的默认命名空间
spring.cloud.polaris.namespace=default
# 开启双注册双发现到 nacos
spring.cloud.nacos.enabled=true
# 设置 nacos 服务注册中心的地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1\:8848
# 设置 nacos 的账户信息
spring.cloud.nacos.username=nacos
spring.cloud.nacos.password=nacos
# 是否开启从 nacos 拉取服务实例信息
spring.cloud.nacos.discovery.enabled=true
# 是否开启将服务注册到 nacos
spring.cloud.nacos.discovery.register=true

示例 demo

服务提供者

服务调用者

验证

启动 Demo 应用

启动服务提供者

# 构建服务提供者
mvn clean install

java -javaagent:/data/provider-agent/polaris-java-agent-${version}/polaris-agent-core-bootstrap.jar -jar provider-2.6.11.jar

启动服务调用者

# 构建服务调用者
mvn clean install

java -javaagent:/data/consumer-agent/polaris-java-agent-${version}/polaris-agent-core-bootstrap.jar -jar consumer-2.6.11.jar

验证

在 Spring Cloud 启动日志中,找到如下日志信息, 则表示 Polaris Java Agent 已经成功拦截原本 Spring Cloud 应用注册的注册动作,并将应用注册到北极星。

 [           main] c.t.c.p.registry.PolarisServiceRegistry  : polaris registry, default service-consumer 10.21.6.36:18083 {} register finished

可以通过 curl 命令查询服务端是否有 service-consumer 以及 service-provider 实例。

curl --location --request POST '127.0.0.1:8090/v1/Discover' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": 1,
    "service": {
        "name": "service-consumer",
        "namespace": "default"
    }
}'

测试服务调用

➜  agent curl http://127.0.0.1:18083/echo/hello

Hello, I'm provider, receive msg : hellomy metadata : {"internal-address":"10.21.6.36:62822","protocol":"http","internal-ip":"10.21.6.36"}

Clone this wiki locally