pom 配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.fred.learning</groupId>
<artifactId>spring-boot-dubbo-sample-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
application.properties
# 应用名称
spring.application.name=spring-boot-dubbo-sample-provider
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
#dubbo.registry.address=nacos://127.0.0.1:8848
# 多注册中心
dubbo.registries.shanghai.address=nacos://127.0.0.1:8848
dubbo.registries.hangzhou.address=zookeeper://127.0.0.1:2181
java代码
@DubboService(registry = {"shanghai","hangzhou"})
public class SayHelloServiceImpl implements ISayHelloService {
@Override
public String say(String name) {
return "[version 1.0] hello," + name;
}
}
consumer
pom 配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- api -->
<dependency>
<groupId>com.fred.learning</groupId>
<artifactId>spring-boot-dubbo-sample-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
application.properties
# 应用名称
spring.application.name=spring-boot-dubbo-sample-consumer
server.port=8081
# consumer 只需 配置 注册中心地址
#dubbo.registry.address=nacos://127.0.0.1:8848
dubbo.registries.shanghai.address=nacos://127.0.0.1:8848
dubbo.registries.shanghai.default=true
dubbo.registries.hangzhou.address=zookeeper://127.0.0.1:2181
Java 代码
@RestController
@SpringBootApplication
public class SpringBootDubboSampleConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootDubboSampleConsumerApplication.class, args);
}
@DubboReference(version = "2.0")
ISayHelloService sayHelloService;
@GetMapping("say")
public String say() {
return sayHelloService.say("fred");
}
}