springboot整合dubbo(注册中心zookeeper)无xml

最近工作上的事情比较多,所以趁着元旦小长假把这期的整合整理了下。springboot整合分布式框架dubbo是现在不少大型企业在用的东西。很多duboot的整合都是xml文件形式,既然使用springboot咱们就不用繁琐的xml文件。下面我们来具体介绍下:

dubbo简介

DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,想象一下阿里巴巴的服务站点你就知道这个东西是有多么强大了。dubbo是一款开源的框架,在前段时间以前阿里对其开源部分不进行维护更新一直放置与git上,但是并不影响其使用的前景,许多实力公司会自己去封装一下以配合其下业务。前段时间阿里好像开始维护更新开源的dubbo这无疑是个好消息,dubbo具体的好处以及其原理大家可自行百度/google或者自己深入研究。

zookeeper简介

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户,配合dubbo使用的注册中心大概有三种,今天我们只简单介绍下zookeeper。

整合步骤

  1. 整合这个东西首先要有这些服务,首先去下载zookeeper然后解压到一个目录下,新建以恶搞zoo.cfg文件修改其配置:
    dataDir=E:/zk/zookeeper-3.4.11/data
    dataLogDir=E:/zk/zookeeper-3.4.11/logs
    之后就可以启动zookeeper的服务了
  2. 下载dubbo的war包,网上很多资源是不可用的,最好的办法就是去git上下载项目进行打包,我这里也提供了zookeeper和dubbo的包
    https://gitee.com/chenghao842822530/springbootdemo/attach_files
    dubbo在打war包之前修改其配置如下:
    WEB-INF目录下的dubbo.properties文件
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    dubbo.admin.root.password=root
    dubbo.admin.guest.password=guest
    然后启动tomcat就启动了dubbo的服务,我们可以访问控制台看看:
    这里写图片描述
    root root 进入:
    这里写图片描述
    此时我们就搭建好了dubbo的控制台了
  3. 项目构建
    1.项目的目录如下:
    这里写图片描述
    2.先构建服务的提供者,在服务提供者的pom文件中引入依赖
 <dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
            <version>1.0.0</version>
        </dependency>

3.配置application.yml/application.properties:

spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.demo.service
server.port=8888

4.然后你可以编写你的服务接口以及其实现类@Service(version = “1.0.0”)是关键,这个注解负责暴露你的服务:

package com.demo.service;
/**
 * 测试服务
 * @author ch
 *
 */
public interface DemoServices {

    public void toProvider() throws Exception;

}

package com.demo.service.impl;
import com.alibaba.dubbo.config.annotation.Service;
import com.demo.service.DemoServices;
@Service(version = “1.0.0”)
public class DemoServicesImpl implements DemoServices {

@Override
public void toProvider() throws Exception {
    System.out.println("恭喜你连接成功");

}

}
5.启动application.java,你就可以在控制台看到服务暴露成功:
这里写图片描述
此时还没有消费者

消费者项目:
6.引入依赖:

dependency>
      <groupId>com.demo</groupId>
      <artifactId>springboot-dubbo-provider</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
            <version>1.0.0</version>
        </dependency>

7.配置application.yml/application.properties:
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=com.demo.service.impl
server.port=8889
8.服务调用者(@Reference(version = “1.0.0”)这个是关键):

/**
 * 消费服务实现
 * @author ch
 *
 */
@Component
public class DemoServiceConImpl implements DemoServiceCon{

    @Reference(version = "1.0.0")
     private DemoServices demoServices;
    @Override
    public void ConService() throws Exception {
        demoServices.toProvider();

    }

}

9.启动项目dubbo控制台可以看到具体的消费信息:
这里写图片描述
这里写图片描述

dubbo控制台可以看到具体的服务提供消费信息,还可以对其路由进行控制等。

本文是spring-boot-start-dubbo依赖的基础上实现的,还可以直接自己去读取配置初始化进行dubbo整合。
源码地址:
https://gitee.com/chenghao842822530/springbootdemo/tree/master/springboot-dubbo
下期准备整合mq。

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值