简单介绍Dubbo

概述

Dubbo是一种高性能的开源RPC(远程过程调用)框架,最初由阿里巴巴内部开发并开源。它提供了服务治理、负载均衡、容错机制、服务降级、动态代理等功能,旨在简化分布式服务之间的通讯和协作。

Dubbo的主要特点包括:

  1. 服务治理:Dubbo提供了丰富的服务治理功能,包括服务注册与发现、路由、降级、负载均衡等,帮助开发者更好地管理和控制服务之间的调用关系。

  2. 高性能:Dubbo在设计上注重性能,采用了多种优化手段,比如基于Netty的高性能网络通信,使得它在大规模分布式系统中表现出色。

  3. 扩展性:Dubbo框架具有良好的扩展性,支持各种插件扩展,用户可以定制和扩展自己的功能。

  4. 透明化的远程调用:Dubbo对远程调用进行了封装,使得开发者可以像调用本地方法一样调用远程服务,屏蔽了底层通讯细节。

  5. 完备的生态系统:Dubbo拥有完善的生态系统,包括监控、调用链跟踪、日志等配套工具,方便开发者进行运维和故障排查。

为什么使用Dubbo

         因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了Netty、Zookeeper,保证了高性能高可用性。使用Dubbo可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。

        分布式架构可以承受更大规模的并发流量

官方架构图

 

节点角色说明

节点角色说明
Provider暴露服务的服务提供方
Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次数和调用时间的监控中心
Container服务运行容器

调用关系说明

1、服务容器负责启动,加载,运行服务提供者。
2、服务提供者在启动时,向注册中心注册自己提供的服务。
3、服务消费者在启动时,向注册中心订阅自己所需的服务。
4、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5、服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6、服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

那么,整个发布-订阅的过程就非常的简单了:

启动容器,加载,运行服务提供者。
服务提供者在启动时,在注册中心发布注册自己提供的服务。
服务消费者在启动时,在注册中心订阅自己所需的服务。

直连实现

服务端:

web.xml

dubbo-userservice-provider.xml

接口实现

pom.xml配置

消费端

web,xml

application.xml

dubbo-consumer.xml

控制层

jsp页面实现

消费者的pom.xml配置文件和服务者配置一样

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值