1、集成dubbo
1、依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>3.1.3</version> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>3.2.0</version> </dependency>
2、配置被调用方(生产者)
bootstrap.yml spring: application: name: douyu-user-provider cloud: nacos: username: nacos password: Lxh1134153700 discovery: server-addr: 124.70.88.211:8848 namespace: ce8fe3ac-1453-469e-9b42-41a82d630e10
dubbo.properties dubbo.application.name=douyu-user-provider dubbo.registry.address=nacos://124.70.88.211:8848?namespace=ce8fe3ac-1453-469e-9b42-41a82d630e10&&username=nacos&&password=Lxh1134153700 dubbo.server=true dubbo.protocol.name=dubbo dubbo.protocol.port=9090
3、配置消费者(也需要引入三个pom)
bootstrap.yml server: port: 8088 spring: application: name: douyu-api cloud: nacos: username: nacos password: Lxh1134153700 discovery: server-addr: 124.70.88.211:8848 namespace: ce8fe3ac-1453-469e-9b42-41a82d630e10
dubbo.properties dubbo.application.name=douyu-api dubbo.registry.address=nacos://124.70.88.211:8848?namespace=ce8fe3ac-1453-469e-9b42-41a82d630e10&&username=nacos&&password=Lxh1134153700
4、创建被调用接口
package com.itlin.user.infar.rpc; public interface UserRpc { String test(); } package com.itlin.user.provide.rpc; import com.itlin.user.infar.rpc.UserRpc; import org.apache.dubbo.config.annotation.DubboService; @DubboService public class UserServiceRpc implements UserRpc { @Override public String test() { return "SUCCESS"; } }
5、创建接口调用
package com.itlin.api.controller; import com.itlin.user.infar.rpc.UserRpc; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @DubboReference private UserRpc userRpc; @RequestMapping("/test") public String test(){ return userRpc.test(); } }
坑:在集成dubbo的时候nacos最小版本需要2.0.0以上