首页 > 其他分享 >Dubbo是什么?Dubbo干什么?Dubbo怎么用?

Dubbo是什么?Dubbo干什么?Dubbo怎么用?

时间:2023-09-24 23:35:37浏览次数:36  
标签:怎么 Dubbo 调用 服务 干什么 Zookeeper RPC 注册

Dubbo是什么?

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。

什么是RPC?

RPC全称为remote procedure call,即远程过程调用。比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方法,由于两个应用不在一个内存空间,不能直接调用,所以需要通过网络来表达调用的语义和传达调用的数据。

需要注意的是RPC并不是一个具体的技术,而是指整个网络远程调用过程。

RPC是一个泛化的概念,严格来说一切远程过程调用手段都属于RPC范畴。各种开发语言都有自己的RPC框架。Java中的RPC框架比较多,广泛使用的有RMI、Hessian、Dubbo等。

Dubbo干什么?

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

Dubbo架构图(Dubbo官方提供)如下:

 

节点角色说明:

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

 

 调用关系说明:

0. 服务容器负责启动,加载,运行服务提供者。

1. 服务提供者在启动时,向注册中心注册自己提供的服务。

2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

Registry服务注册中心Zookeeper

通过前面的Dubbo架构图可以看到,Registry(服务注册中心)在其中起着至关重要的作用。Dubbo官方推荐使用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的安装启动流程。

Dubbo怎么用?

Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用。一个作为服务的提供方,一个作为服务的消费方。通过Dubbo来实现服务消费方远程调用服务提供方的方法。

标签:怎么,Dubbo,调用,服务,干什么,Zookeeper,RPC,注册
From: https://www.cnblogs.com/zcj-gh/p/17726938.html

相关文章

  • FL Studio怎么激活图文安装教程?FL Studio 21中文版下载 v21.1.1.3750 汉化
    flstudio21.0.3.3517中文解锁特别版是一款功能强大的编曲软件,也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音,让您的计算机成为全功能录音室。除此之外,这款软件功能非常强大,为用户提供了许多音频处理工具,包含了编排,录制,编辑,混音和掌握专业品质音乐所需的一切,支持多音轨录......
  • golang 怎么使用接口中声明的方法
    假设你有一个golang的interface,里面声明了1个函数,怎么调用这个函数typeManinterface{ Eat(ctxcontext.Context,foodstring})error}使用方式创建结构体实现这个接口声明的方法,然后创建该结构体对象,调用方法案例首先,我们需要创建一个实现了这个接口的结构体:type......
  • centos教程:解决CentOS7没有图形化界面,以及怎么安装
    下边由centos教程栏目给你们介绍解决CentOS7没有图形化界面,以及如何安装图形化界面,希望对须要的同学有所帮助!我们在安装CentOS7时,假若选择“最小化”安装这么系统就只有命令行界面,并且没有图形化界面,如右图:解决的完整步骤如下:1)开启CentOS7并登陆root用户(一定要以root用户登入,......
  • 当被人想把问题推到我这时说我的产品有问题时怎么办?
    今天,我在商场里很吵,一个不认识的人问我为什么电池shutdown不了?当时我的反应是,之前已经生产300多个了,不可能有这个问题,就问是所有都这样,还是个别?没有正面回答我。却说电池有问题。后来,我说很吵,我要先找到车,等下我再打电话。回到家后,我再电话我的品质同事,说已经找到了另一个硬件......
  • 金九银十Android面试该怎么有效的回答,看完这篇文章就懂了
    今年的严寒使得许多职场人的求职时间变长,以往火热的金三银四不再,金九银十九承载着广大程序员的希望。但是在这个特殊情况下,竞争压力也会增大,各大企业对于求职者的要求也随之增高。很多小伙伴都面临着这样的情况:千辛万苦拿到面试机会,却因各种原因翻车。“在面试的时候不能将自己的真......
  • 开合屏在安装后遇到无法开合怎么解决?
    一般当用户遇到这种问题时,我们先电话沟通情况,由技术判断出现这个情况的大概原因有哪些,然后安排远程协助或者直接通过远程连接进入用户设备,这次检测发现是软件设置问题,对应进行修改并重新启动设备,问题得到解决。   当解决完这种问题情况下,技术团队安排完善开合屏的功能,因为我们......
  • Dubbo配置
    Dubbo配置配置原则:JVM启动-D参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。XML次之,如果在XML中有配置,则dubbo.properties中的相应配置项无效。Properties最后,相当于缺省值,只有XML没有配置时,dubbo.properties的相应配置项......
  • .NET反编译神器ILSpy怎么用?
    前言上一篇文章我们介绍了4款免费且实用的.NET反编译工具......
  • 2023-2024年毕业设计开题报告怎么写
    毕业设计(论文)开题报告一、选题的目的和意义酒店是集餐饮、住宿为一体的综合性服务机构,酒店结合用户对各种数据的要求,充分利用互联网传播信息的优势,管理效率高,应用灵活的数据库管理系统,提出开发使用酒店住宿管理系统。本系统的设计最大的特点是实用性和有效性。无论什么样的用户,都......
  • U盘装系统中bios怎么设置USB启动(图文教程)
    常见的两种设置方式:第二种:开机设置BIOS后,步入U盘系统U盘装系统中bios如何设置USB启动(图文教程)整个U盘启动里最关键的一步就是设置U盘启动了,本教程内只是以特定机型的笔记本为例进行演示服务器安装linux系统,鉴于各类笔记本不同BIOS设置U盘启动各有差别,所以假如下边的演示不能适用......