dubbo

2023-05-16

dubbo通过官网学习 http://dubbo.apache.org/en-us/ 
 
一.陌生的名词解释:
SPI:service provider interface 服务提供机制
Hessian: 是一个轻量级的RPC框架, 它基于HTTP协议传输
RPC :Romote Procedure Call    远程过程调用 ,通过网络从远程计算机上请求某种服务, 代表:dubbo
RMI: Remote Method Invocation 远程方法调用 能够让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端java 虚拟机中的对象上的方法。 使用代表:EJB
调用过程:
 
RMI和RPC的区别
1.方法调用方式不同
2.适用语言范围不同
RMI只用于Java,支持传输对象。
RPC是基于C语言的,不支持传输对象,是网络服务协议,与操作系统和语言无关。
3 .调用结果的返回形式不同:
RMI是面向对象的,Java是面向对象的,所以RMI的调用结果可以是对象类型或者基本数据类型。
RPC的结果统一由 外部数据表示(External Data Representation,XDR)语言 表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由XDR定义的数据类型才能被传递,
可以说RMI是面向对象方式的Java RPC。
 
Memcache:和Redis类似,都是内存数据库,不过memcache还可以缓存其他东西,eg视频,图片
二.dubbo能做什么
1 透明化的远程方法调用,就像调用自己本地的方法一样调用远程方法,只需要简单配置,没有任何API的侵入
2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点
3.服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且可以平滑的添加删除服务提供者。
 
优点:
使用 Dubbo 进行远程调用实现服务交互,它支持多种协议,如 Hessian HTTP RMI Memcached Redis 等等。由于 Dubbo 将这些协议的实现进行了封装了,无论是服务端(开发服务)还是客户端(调用服务),都不需要关心协议的细节,只需要在配置中指定使用的协议即可,从而保证了服务提供方与服务消费方之间的透明。
三.dubbo结构流程                                                          
                                                                   初始化           异步              同步
Provider:暴露服务的提供者   Consumer:调用远程服务的消费者
Monitor:统计服务的调用次调和调用时间的监控中心  Register:服务的注册中心 Container:服务运行容器
0.负责启动加载运行服务provider
1.服务提供者在启动时,向注册中心注册自己提供的服务
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dubbo 的相关文章

  • 如何将eclipse窗口还原

    在我们编程过程中 xff0c 会有各种原因将eclipse窗口摆乱 xff0c 为了方便起见 xff0c 我们可以将窗口还原 xff0c 还原窗口方法如下 xff1a 1 在工具栏依次找到WIndow gt Perspective gt R
  • 图的遍历(python实现)

    深度优先遍历 深度优先遍历 深度优先遍历顾名思义就是一条路走到黑 xff0c 如图所示 xff0c 从0开始遍历 xff0c 遍历他的邻边1 xff0c 当遍历1时 xff0c 发现他的邻边0已经遍历了 xff0c 所以这条路已经走到头了
  • 目前排名前十的编程语言各自的特点和主要应用领域

    一 Python 特点 xff1a 1 简单 xff1a Python是一种代表简单思想的语言 2 易学 xff1a Python有极其简单的语法 3 免费 开源 Python是FLOSS xff08 自由 开放源码软件 xff09 之一

随机推荐

  • mariadb yum 安装之后修改字符集

    1 yum 安装mariadb之后 xff0c 默认不是utf8 的字符集 xff0c 建议在安装完成之后 xff0c 修改成utf8 对已经建立的数据库 xff0c 修改是无效的 xff0c 需要通过其他途径 mariadb 10 2 安
  • Linux(Ubuntu18.04)安装Chrome浏览器

    一 下载deb软件安装包 https dl google com linux deb pool main g google chrome stable google chrome stable 98 0 4758 102 1 amd64 d
  • 配置yum源遇到的问题

    yun配置文件 ambari name 61 local iso baseurl 61 file home redhat iso 填写挂载镜像的位置 enable 61 1 gpgcheck 61 1 gpg签名校验 默认关闭 gpgkey
  • 【Android安全】Android settings命令

    Android 中有一个可执行文件settings xff0c 可以使得调试变得方便 settings用法 xff1a device span class token operator span name span class token
  • PyCharm,Terminal 常用快捷键

    转自 xff1a https blog csdn net sinat 41668302 article details 106211007 PyCharm xff0c Terminal 常用快捷键 enter Terminal 快捷键 功能
  • 1175 最大半连通子图(强连通分量)

    1 问题描述 xff1a 一个有向图 G 61 V xff0c E 称为半连通的 Semi Connected xff0c 如果满足 xff1a u xff0c v V xff0c 满足 u v 或 v u xff0c 即对于图中任意两点
  • 呆呆和你谈谈入职CVTE一个月的感受

    呆呆和你谈谈入职CVTE一个月的感受 你盼世界 xff0c 我盼望你无bug Hello 大家好 xff01 我是霖呆呆 xff01 啊啊啊啊啊 至6 18日入职新公司CVTE已经一个多月了 xff0c 在 你盼世界 xff0c 我盼望你无
  • fastboot刷boot命令

    fastboot flash boot b rooted boot路径 fastboot flash boot a rooted boot路径
  • 剑指 Offer 03. 数组中重复的数字--详解

    找出数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0 xff5e n 1 的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字重复了 xff0c 也不知道每个数字重复了几次 请找出数组中任意一个重复的数
  • 虚拟机和win主机不能互相ping通,不能ping通外网,全方位解析

    1 确认虚拟机处于桥接状态 xff1a xff08 虚拟机 gt 设置 gt 网络适配器 xff09 2 桥接是虚拟机的虚拟网卡与主机的网卡通过虚拟网桥进行连接 xff0c 因此 主机 虚拟机的子网掩码 网关 dns必须保持一直 ubunt
  • Android Cordova 正常安卓项目封装成插件的流程记录

    Android Cordova 正常安卓项目封装成插件的流程记录 背景 xff1a 混合式开发cordova使用Android原生插件 封装流程 xff1a 1 gradle的封装 xff1a a xff1a 需要在插件中先创建一个 gra
  • Ubuntu18.04配置ssh服务以实现远程连接

    1 连接环境 虚拟机 xff1a Ubuntu18 04 连接工具 xff1a SecureCRT 2 配置虚拟机的SSH服务 sudo apt get update sudo apt get install openssh client
  • RxJava2(五)线程调度器Scheduler

    线程调度器Scheduler RxJava是一个为异步编程而实现的库 xff0c 但异步也存在线程安全问题 xff0c 比如 xff0c 那些操作需要在前台线程 xff0c 那些操作又需要在后台线程等等 而Scheduler就是这样一个线程
  • 按键消抖的三种方案

    首先 xff0c 做两个假定 xff0c 以方便后面的描述 xff1a 假定按键的默认状态为0 xff0c 被按下后为1假定按键抖动时长小于20ms xff0c 也即使用20ms的消抖时间 方案1 xff1a 在按键电平稳定的情况下 xff
  • D1_1-10的阶乘求和:1!+2!+3!+......+9!+10!

    首先我们要清楚10 xff01 是什么 阶乘 xff0c 符号为n 是指从1开始依次相乘直到n eg xff1a 10 xff01 61 1 2 3 4 5 6 7 8 9 10 话不多说 xff0c 先放代码为敬 xff1a span c
  • ASK、FSK、PSK信号及其频谱

    代码 xff1a https github com LHesperus signal processing tree master Modulated 20signal 2ASK信号及其频谱 4ASK信号及其频谱 FSK信号及其频谱 4FS
  • 2022-9-20----Android----User版 打开串口抓开机日志

    分析设备无法开机或开机出现异常 xff0c 得用串口抓取开机log xff0c 但是user版默认是关闭串口的 xff0c 所以你得去 lk 把串口打开 Android 5 6的修改方法 xff1a diff span class toke
  • C# RabbitMQ(一)介绍

    什么是消息队列 顾名思义 xff0c 这是一个消息按顺序排列的集合 xff0c 遵循的是先进先出原则 xff0c 队列中存放的是Message 消息队列中间件是分布式系统中重要的组件 xff0c 主要解决应用耦合 异步消息 流量削锋等问题
  • IDEI打开主动引入功能,并排除一些包的自动引入

    欧尅了
  • dubbo

    dubbo通过官网学习 http dubbo apache org en us 一 陌生的名词解释 xff1a SPI xff1a service provider interface 服务提供机制 Hessian 是一个轻量级的RPC框架