Dubbo框架

1:简介

Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架

Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题

这是Dubbo官网的介绍,下面是我对这dubbo的理解

首先介绍下什么是RPC:

常见的单体架构:请求进来———》先到控制层————》控制层掉业务层(对外提供一个个完整的功能)————》业务层掉数据持久层,这些都是在一套系统里面

分布式服务架构下:控制层是一个单独的应用工程(A系统),业务层也是个单独的应用(B系统)

用户请求进到控制层,A系统去掉B系统里面的方法这个过程就叫RPC:远程过程方法调用

dubbo就是一个分布式服务框架实现了这个过程,实现这个过程的还框架有很多:

Motan(新浪微博开源的一个Java 框架)rpcx(Go语言生态圈的Dubbo, 比Dubbo更轻量)gRPC(Google开发的高性能、通用的开源RPC框架)thrift(Apache的一个跨语言的高性能的服务框架)

总结来说:

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

对了dubbo还可以和 Spring框架无缝集成

官网:

dubbo.apache.org

2:Dubbo高性能的原因

dubbo作为一个PRPC框架,主要干的就是远程过程(方法)调用,这个过程中最关键也是最耗时的两个方面:序列化和网络通信

序列化:

我们都知道本地对象要在网络上传输,必须要实现Serializable接口(序列化),序列化的方案有很多:xml、json、二进制流等等,其中效率最高的就是二进制流(因为计算机就是二进制的01010),dubbo采用的就是效率最高的二进制

网络通信:

不同于HTTP(SpringCloud采用的就是HTTP协议)需要七步走(三次握手和四次挥手),dubbo采用Socket通信(只需要知道ip,端口就可以建立长连接)一步到位,提升了通信效率,建立长连接(不需要反复连接)直接传输数据

3:Dubbo框架结构

Git Hub上的结构图:

通过这张结构图可以很好的理解dubb的框架结构:

从0到5梳理一遍:

0:从0开始,这个容器(Container)指的就是spring容器(前面说过Dubbo可以和 Spring框架无缝集成),当Spring容器启动加载的时候初始化服务的提供者(Provider),这个提供者就是业务层里的方法

1:将这个方法注册(register)到注册中心(注册过去的就是一个个服务的URL地址)

2:注册完成后,消费者(Consumer)订阅(subscribe)组测中心里提供者提供的服务,这个消费者可以理解为控制层(就是控制层调用业务层)

3:同时注册中心异步通知(notify)消费者消费提供者提供的服务

4:消费者拿到订阅的地址去调用(invoke)提供者提供的具体的方法(拿到URL去调用)

5:在容器初始化和消费者消费的时候都会异步通知监控中心记录(记录提供者提供哪些服务,消费者消费哪些服务,谁消费,谁提供)

对于我们使用dubbo框架,只需要关注上面的框架即可,监控中心由dubbo提供好了,不需要开发者去实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/180180.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

重生奇迹mu迹辅助什么好

主流辅助一号选手:弓箭手 智弓作为最老、最有资历的辅助职业,一直都是各类玩家的首要选择。因为智力MM提供的辅助能力都是最基础、最有效、最直观的辅助。能够减少玩家对于装备的渴求度,直接提升人物的攻防,大大降低了玩家升级打…

python数据结构与算法-14_树与二叉树

树和二叉树 前面我们讲了两种使用分治和递归解决排序问题的归并排序和快速排序,堆排序先就此打住,因为涉及到树的概念,所以我们先来讲讲树。 讲完了树之后后面我们开始介绍一种有用的数据结构堆(heap), 以及借助堆来实现的堆排序…

豪华程度堪比飞机头等舱?奔驰在北美发布Tourrider系列巴士

今年三月,奔驰工厂附近出现了一台特殊的测试车。其突出的前保险杠以及竖置双风挡等特殊配置,都在暗示着它并非是为欧洲市场打造。 根据特征推测,这台车应该是为北美市场打造。 就在昨天,奔驰发布了旗下全新Tourrider系列豪华客车&…

Unity中颜色空间Gamma与Linear

文章目录 前言一、人眼对光照的自适应1、光照强度与人眼所见的关系2、巧合的是,早期的电子脉冲显示屏也符合这条曲线3、这两条曲线都巧合的符合 y x^2.2^(Gamma2.2空间) 二、Gamma矫正1、没矫正前,人眼看电子脉冲显示屏&#xff…

二叉搜索树再升级——红黑树

二叉搜索树再升级——红黑树 红黑树的概念红黑树的插入uncle为granfather的右孩子uncle结点为红色uncle结点为空或黑色 uncle为granfather的左孩子 红黑树的概念 之前我们学习了AVL树,这是一种判断左右子树高度来严格控制总体树的高度的树。条件相对来说比较苛刻。…

黑马点评笔记 redis缓存三大问题解决

文章目录 缓存问题缓存穿透问题的解决思路编码解决商品查询的缓存穿透问题 缓存雪崩问题及解决思路缓存击穿问题及解决思路问题分析使用锁来解决代码实现 逻辑过期方案代码实现 缓存问题 我们熟知的是用到缓存就会遇到缓存三大问题: 缓存穿透缓存击穿缓存雪崩 接…

Kafka 常用功能总结(不断更新中....)

kafka 用途 业务中我们经常用来两个方面 1.发送消息 2.发送日志记录 kafka 结构组成 broker:可以理解成一个单独的服务器,所有的东西都归属到broker中 partation:为了增加并发度而做的拆分,相当于把broker拆分成不同的小块&…

基于Python实现汽车销售数据可视化+预测【500010086.1】

导入模块 import numpy as np import pandas as pd from pylab import mpl import plotly.express as px import matplotlib.pyplot as plt import seaborn as sns设置全局字体 plt.rcParams[font.sans-serif][kaiti]获取数据 total_sales_df pd.read_excel(r"./data/中…

从根到叶:随机森林模型的深入探索

一、说明 在本综合指南中,我们将超越基础知识。当您盯着随机森林模型的文档时,您将不再对“节点杂质”、“加权分数”或“成本复杂性修剪”等术语感到不知所措。相反,我们将剖析每个参数,阐明其作用和影响。通过理论和 Python 实践…

【STM32外设系列】GPS定位模块(ATGM336H)

🎀 文章作者:二土电子 🌸 关注公众号获取更多资料! 🐸 期待大家一起学习交流! 文章目录 一、GPS模块简介二、使用方法2.1 引脚介绍2.2 数据帧介绍2.3 关于不同的启动方式 三、前置知识3.1 strstr函数3.2…

【洛谷算法题】P5714-肥胖问题【入门2分支结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5714-肥胖问题【入门2分支结构】🌏题目描述🌏输入格式&a…

实在智能携“TARS大模型”入选“2023中国数据智能产业AI大模型先锋企业”

近日,由数据猿与上海大数据联盟联合主办的“2023企业数智化转型升级发展论坛”在上海圆满收官。 论坛颁奖典礼上,《2023中国数据智能产业AI大模型先锋企业》等六大榜单正式揭晓,旨在表彰在AI领域为数智化升级取得卓越成就和突出贡献的企业&am…

【Flask使用】全知识md文档,4大部分60页第3篇:Flask模板使用和案例

本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF 表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy…

深入浅出理解libevent——2万字总结

概述 libevent,libev,libuv都是c实现的异步事件库,注册异步事件,检测异步事件,根据事件的触发先后顺序,调用相对应回调函数处理事件。处理的事件包括:网络 io 事件、定时事件以及信号事件。这三个事件驱动着服务器的运…

中国智能汽车这一年,主打一个“卷”

文丨刘俊宏 “这才刚过去半年多,汽车行业又更新了一轮。”一位车评人在广州车展感叹道。 作为每年最后一个A级车展,广州车展向来被视为中国车市的“风向标”。相比上海车展“拥抱汽车行业新时代”、成都车展“驭见未来”的主题,广州车展“新…

为什么鼠标按键释放后才执行对应的动作?

如果你留心观察的话,你会发现这样一个事实:大部分的软件的用户体验中,一般都是在鼠标按键释放后,才会执行相应的动作,而不是按下的时候。例如,当我们按下开始菜单的时候,不会有任何动作发生&…

数据库基础入门 — SQL运算符

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

2023 年亚马逊黑色星期五和网络星期一的企业电子商务指南

亚马逊黑色星期五和网络星期一 周末即将到来!感恩节于 11 月 23 日举行,紧接着是 24 日黑色星期五和 27 日网络星期一。您的亚马逊业务准备好应对大量涌入了吗? 我们相信您已经准备好黑色星期五优惠并准备好库存,以确保您有足够的…

一键重装系统Win10专业版教程

在电脑操作过程中,用户如果遇到无法解决的系统问题,就可以考虑直接重新系统。现在,用户想要重新安装一下Win10专业版系统,但是不清楚具体的重装操作步骤。接下来小编给大家介绍轻松重装Win10专业版系统的详细步骤。 推荐下载 系统…

怎么快速卸载office365

怎么快速卸载office365 根据官网提供的两种解决方案即点即用或MSIMicrosoft Store 根据官网提供的两种解决方案 官网地址:https://support.microsoft.com/zh-cn/office/%E4%BB%8E-pc-%E5%8D%B8%E8%BD%BD-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8#OfficeVersio…