初用 springcloud 集成 nacos 做 dubbo 注册中心 手记
参考gper 视频和 自己的一些实践
记录关键的点,需要注意 版本冲突 见 springcloud + nacos -- 版本选择
provider
1、添加pom依赖,
<!-- dubbo -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2、配置 application.properties
spring.application.name=spring-cloud-dubbo-sample-provider-me
dubbo.scan.base-packages=com.xxx.springclouddubbosampleprovider.service
dubbo.protocol.port=20882
dubbo.protocol.name=dubbo
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
3、提供接口 实现,添加 dubbo 注解
@org.apache.dubbo.config.annotation.Service
public class SayHelloServiceImpl implements ISayHelloService {
@Override
public String sayHello(String msg) {
return "hello,GP!!";
}
}
4、配置 启动类
@EnableDiscoveryClient
@SpringBootApplication
public class SpringCloudDubboSampleProviderApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudDubboSampleProviderApplication.class, args);
}
}
consumer
1、配置pom依赖
<!-- dubbo -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2、配置 application.properties
spring.application.name=spring-cloud-dubbo-sample-consumer-me
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
3、启动类
@RestController
@SpringBootApplication
public class SpringCloudDubboSampleConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudDubboSampleConsumerApplication.class, args);
}
@org.apache.dubbo.config.annotation.Reference
ISayHelloService sayHelloService;
@GetMapping("say")
public String sayHello() {
return sayHelloService.sayHello("hred");
}
}