springboot整合dubbo

29 篇文章 3 订阅
6 篇文章 0 订阅

安装Zookeeper

安装jdk

  1. 下载jdk-8u171-linux-x64.rpm

  2. 安装 rpm -ivh jdk-8u171-linux-x64.rpm,会自动安装到usr目录中的java中

  3. 通过pwd命令,查看jdk安装路径:/usr/java/jdk1.8.0_171-amd64

  4. 配置环境变量: vi /etc/profile,在文件最后追加:

    export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
    export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
    
  5. 刷新环境变量:source /etc/profile


安装zookeeper

docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v $PWD/data:/data $PWD/conf:/conf --name zookeeper --restart always zookeeper

语法就不多说了,注意数据卷挂载就行

在idea中可以下载一个zookeeper的插件


查看注册的服务(在容器内)

./zkCli.sh 
ls /dubbo

springboot整合案例

服务提供方

依赖
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.7</version>
</dependency>

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>2.13.0</version>
</dependency>
<!-- zookeeper客户端 -->
<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.11</version>
</dependency>

配置
server:
  port: 8085
dubbo:
  application:
    name: provider-service
  registry:
    address: zookeeper://ip:2181
    timeout: 100000
  scan:
    base-packages: top.codekiller.test.dubbo.Service
  config-center:
    timeout: 1000000

启动器
@SpringBootApplication
@EnableDubbo
public class ProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProviderApplication.class,args);
    }
}


服务
@Component
@DubboService
public class TicketServiceImpl implements ITicketService {
    @Override
    public String getTicket() {
        return "《战狼,冲击波!》";
    }
}

服务消费方

依赖
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.7</version>
</dependency>

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>2.13.0</version>
</dependency>
<!-- zookeeper客户端 -->
<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.11</version>
</dependency>

配置
server:
  port: 8086
dubbo:
  application:
    name: consumer-service
  registry:
    address: zookeeper://ip:2181
    timeout: 100000

服务api

一定要注意,api的路径要相同!!!!看一下zookeeper中注册的服务应该就能明白!我被坑惨了!


服务
@Service
public class UserServiceImpl implements IUserService {

    @DubboReference
    ITicketService ticketService;

    @Override
    public void hello(){
        System.out.println("买到票了 "+ticketService.getTicket());
    }
}

测试

@SpringBootTest
class DubboConsumerApplicationTests {

    @Autowired
    private IUserService userService;

    @Test
    void contextLoads() {
        userService.hello();
    }

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值