Apache Dubbo

Apache Dubbo

简介

Apache Dubbo是一款高性能的Java RPC框架,前身是阿里巴巴公司开源的、轻量级的开源Java RPC框架,可以和Spring框架无缝集成,2018年阿里巴巴把这个框架捐献给了apache基金会

RPC:全称remote procedure call,即远程过程调用

  • tips:
    RPC并不是一个具体的技术,而是指整个网络远程调用过程
    RPC是一个泛化的概念,严格来说一切远程过程调用手段都属于RPC范畴,各种开发语言都有自己的
    RPC框架。

Dubbo官网地址:http://dubbo.apache.org

Dubbo提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡、服务自动注册和发现。

Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用

架构

Dubbo官方架构图

节点角色名称
Provider暴露服务的服务提供方
Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次数和调用时间的监控中心
Container服务运行容器
  • 虚线
    异步访问
  • 实线
    同步访问
  • 蓝色虚线
    在启动时完成的功能
  • 红色虚线(实线)
    程序运行过程中执行的功能

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

服务注册中心

Registry(服务注册中心)在其中起着至关重要的作用

Dubbo官方推荐使用Zookeeper作为服务注册中心

下载地址:http://archive.apache.org/dist/zookeeper/

Zookeeper简介

Apache Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo服务的注册中心,工业强度较高,可用于生产环境

Zookeeper树型目录服务

在这里插入图片描述
流程说明:

  • 服务提供者(Provider)启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的URL 地址
  • 服务消费者(Consumer)启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
  • 监控中心(Monitor)启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者URL 地址

启动、停止Zookeeper

进入Zookeeper的bin目录,启动服务命令./zkServer.sh start
停止服务命令./zkServer.sh stop
查看服务状态./zkServer.sh status
客户端连接./zkCli.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Selcouther

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值