服务发现

在 dubbogo 中快速体验北极星的服务发现能力

环境准备

参考 dubbogo 官网文档

dubbogo.yaml 配置文件

  1. dubbo:
  2. registries:
  3. polaris-1:
  4. protocol: polaris
  5. address: ${北极星服务端IP}:8091
  6. namespace: ${北极星命名空间信息}
  7. token: ${北极星资源鉴权 token} # 如果北极星服务端开启了针对客户端的鉴权,则需要配置该参数

示例代码(dubbogo 原生使用方式)

dubbogo 在进行服务调用时,会先通过 Polaris Registry 的 Extension 获取到服务的实例列表,然后转换为 dubbogo invoker,最终完成 dubbogo 服务调用。

当前 Polaris 已实现了 dubbogo 原生的服务发现扩展点,因此原本的 dubbogo 服务调用无需调整业务代码,仅需要在 dubbogo.yaml 中新增 protocol 为 polaris 的注册中心配置即可。

  1. func main() {
  2. var userProvider = &UserProvider{}
  3. config.SetConsumerService(userProvider)
  4. hessian.RegisterPOJO(&User{})
  5. if err := config.Load(); err != nil {
  6. panic(err)
  7. }
  8. user, err := userProvider.GetUser(context.TODO(), &User{Name: "Alex001"})
  9. if err != nil {
  10. panic(err)
  11. }
  12. logger.Infof("response result: %v\n", user)
  13. }

验证

可根据 dubbogo example 开展