服务发现

Dubbo 分类

Dubbo当前常用的有2个分支版本,一个是apache dubbo(GroupID是org.apache.dubbo), 一个是dubbox (GroupID是com.alibaba)。两个分支的dubbo,对应不同的接入插件,大家接入之前可以先通过GroupID判断下当前项目依赖的是哪个分支的dubbo。

Apache Dubbo

引入依赖

首先,需要将插件 com.tencent.polaris:dubbo-registry-polaris 引入到业务的POM中,插件版本建议使用源码库的最新版本:release

  • com.tencent.polaris:dubbo-registry-polaris:北极星注册中心接入插件
 <dependency>
      <groupId>com.tencent.polaris</groupId>
      <artifactId>dubbo-registry-polaris</artifactId>
      <version>${latest_version}<version>
</dependency>

配置北极星注册中心地址

注册中心地址配置可参考:服务注册

执行服务发现及调用

使用Dubbo原生的方式执行服务发现和调用。

// 获取服务引用
ReferenceConfig<DemoService> reference = new ReferenceConfig<>();
reference.setInterface(DemoService.class);
reference.setGeneric("true");

//指定注册中心地址
DubboBootstrap bootstrap = DubboBootstrap.getInstance();
bootstrap.application(new ApplicationConfig("dubbo-demo-api-consumer"))
                .registry(new RegistryConfig("polaris://127.0.0.1:8091"))
                .reference(reference)
                .start();

//执行服务调用
DemoService demoService = ReferenceConfigCache.getCache().get(reference);
String message = demoService.sayHello("dubbo");
System.out.println(message);

样例

服务发现样例可以参考:dubbo-discovery-consumer