远程调用服务好帮手-dubbox

Dubbox是一款高性能、轻量级的Java RPC框架,提供远程方法调用、智能容错与负载均衡及服务自动注册与发现。适用于微服务系统,具备负载均衡、服务调用链路生成、资源调度等优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

Dubbox是一款高性能、轻量级的开源Java RPC(Remote Procedure Call 远程过程调用)框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

角色

  • 注册中心(Registry):相当于房东、中介,记录提供者和消费者信息
  • 监控中心(Monitor):通过连接注册中心,监控消费者和提供者健康状况
  • 服务提供者(provider):Service层
  • 服务消费者(consumer):Web层

相关概念

  • 远程调用:用@Reference:web调用service,依赖中没有service的jar包,service是war,此时是远程调用
  • 本地调用:用@Autowired:service调用dao,依赖中有dao.jar,此时是本地调用
  • 长连接:建立连接后,不断进行数据交互
  • 短连接:建立连接后,没有操作则自动断开
  • WebService:远程服务调用API
    • 具体实现:
      • 老:axis, cxf
      • 新:hessain, dubbox, feign Ribbon

快速入门

注册中心Zookeeper

  1. 上传zookeeper-3.4.6.tar.gz至Linux服务器,并解压 tar -zxvf
  2. 创建data文件夹 mkdir /root/zookeeper-3.4.6/data
  3. 重命名 /root/zookeeper-3.4.6/conf/zoo_example.cfgzoo.cfg,并使用vim编辑器修改 zoo.cfg 中的 dataDir=/root/zookeeper-3.4.6/data

监控中心

  1. 上传 dubbo-admin-2.8.4.warapache-tomcat.tar.gz至Linux服务器,解压tomcat
  2. dubbo-admin-2.8.4.war拷贝到 tomcat/webapp 目录下
  3. 启动tomcat ./tomcat/bin/startup.sh
  4. 在不改变默认端口的情况下,可以通过 虚拟机IP:8080/dubbo-admin访问监控中心,默认用户名密码均为root,实时监控消费者和提供者的健康状况
    {% asset_img 1.png 图片 %}

服务提供者

  1. 在Service模块业务层实现类上增加注解@Service ,注意包名是dubbo不是springframework

    import com.alibaba.dubbo.config.annotation.Service;
    @Service
    public class XxxServiceImpl implements XxxService {
    ...
    }
    
  2. 在spring主配置文件中增加以下配置

    <dubbo:application name="一般和项目名称保持一致,唯一"/> <!--在“注册中心”声明服务提供者名称-->
    <dubbo:registry address="zookeeper://服务器ip:2181"/> <!--连接注册中心-->
    <dubbo:annotation package="要暴露服务所在的包路径"/>
    

服务消费者

  1. 在Web模块控制层Controller类中调用Service

    import com.alibaba.dubbo.config.annotation.Reference;
    @RestController
    @RequestMapping("/xxx")
    public class XxxController {
    	@Reference
    	private XxxService XxxService;
    	...
    }
    

为什么用dubbox?

  • dubbox具有以下优势:
  1. 负载均衡:同一个工程划分成不同模块,每个模块部署在独立的服务器上
  2. 服务调用链路生成:服务间依赖关系错踪复杂,可以解决服务之间互相是如何调用的
  3. 服务访问压力以及时长统计、资源调度和治理:基于访问压力实时管理集群容量,提高集群利用率。
  4. 服务降级:某个服务宕机后调用备用服务
  5. 可以应用在微服务系统中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值