Dubbo

Dubbo原理

1、RPC原理

紫色的序号对于使用dubbo的prc框架是透明的是一个黑盒


2、netty通信原理

Netty是一个异步事件驱动的网络应用程序框架, 用于快速开发可维护的高性能协议服务器和客户端。它极大地简化并简化了TCP和UDP套接字服务器等网络编程。

BIO:(Blocking IO)

每一个Socket都开一线程处理,其他没有获取到cpu资源的线程就会被阻塞等待

NIO (Non-Blocking IO)

通过Selector多路复用器,来判断这通道的状态,并是否给他线程让他执行

Selector 一般称 为选择器 ,也可以翻译为 多路复用器,

Connect(连接就绪)、Accept(接受就绪)、Read(读就绪)、Write(写就绪)

Netty基本原理

先对需要监视的端口进行绑定

然后自身初始化,与注册到前面的Selector多路复用器,经过状态判断获取到线程,然后注册到worker里面的Selector多路复用器,进行安排接下来的工作安排

boss让准备好的进来(招人干活),worker(去干活的)


3、dubbo原理

1、dubbo原理 -框架设计

  • config 配置层:对外配置接口,以 ServiceConfig, ReferenceConfig 为中心,可以直接初始化配置类,也可以通过 spring 解析配置生成配置类

  • proxy 服务代理层:服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton, 以 ServiceProxy 为中心,扩展接口为 ProxyFactory

  • registry 注册中心层:封装服务地址的注册与发现,以服务 URL 为中心,扩展接口为 RegistryFactory, Registry, RegistryService

  • cluster 路由层:封装多个提供者的路由及负载均衡,并桥接注册中心,以 Invoker 为中心,扩展接口为 Cluster, Directory, Router, LoadBalance

  • monitor 监控层:RPC 调用次数和调用时间监控,以 Statistics 为中心,扩展接口为 MonitorFactory, Monitor, MonitorService

  • protocol 远程调用层:封装 RPC 调用,以 Invocation, Result 为中心,扩展接口为 Protocol, Invoker, Exporter

  • exchange 信息交换层:封装请求响应模式,同步转异步,以 Request, Response 为中心,扩展接口为 Exchanger, ExchangeChannel, ExchangeClient, ExchangeServer

  • transport 网络传输层:抽象 mina 和 netty 为统一接口,以 Message 为中心,扩展接口为 Channel, Transporter, Client, Server, Codec

  • serialize 数据序列化层:可复用的一些工具,扩展接口为 Serialization, ObjectInput, ObjectOutput, ThreadPool

2、dubbo原理 -启动解析、加载配置信息

3、dubbo原理 -服务暴露

4、dubbo原理 -服务引用

5、dubbo原理 -服务调用

感谢尚硅谷,感谢雷神!!!

Day172.dubbo原理 -Dubbo相关推荐

  1. Dubbo原理何源码解析之服务暴露

    2019独角兽企业重金招聘Python工程师标准>>> 一.框架设计 在官方<Dubbo 用户指南>架构部分,给出了服务调用的整体架构和流程: 另外,在官方<Dub ...

  2. Dubbo原理和源码解析之服务引用

    github新增仓库 "dubbo-read"(点此查看),集合所有<Dubbo原理和源码解析>系列文章,后续将继续补充该系列,同时将针对Dubbo所做的功能扩展也进行 ...

  3. Dubbo面试 - dubbo的工作原理

    Dubbo面试 - dubbo的工作原理 面试题 说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程? 面试官心理分析 MQ.ES.Redis.Dubbo,上来 ...

  4. dubbo原理_dubbo的底层原理

    一.Duboo基本概念解释 Dubbo是一种分布式服务框架. Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡.因此,dubbo除了可以 ...

  5. dubbo原理_Dubbo原理浅析

    Apache Dubbo™ 是一款微服务框架(Microservices Framework),它提供高性能 RPC 通信.服务发现.流量管理等服务治理能力,提供构建大规模微服务集群所需的全套解决方案 ...

  6. Dubbo原理简单分析

    1.Dubbo原理分析 alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo.hsf),jms消息服务(napoli.notify),KV数据库(tair ...

  7. Dubbo系列之Dubbo原理简介

    文章目录 一.分布式基本知识 1.1) 架构演变 1.2).分布式基本概念 二.RPC简介 2.1) RPC概念 2.2) RPC核心模块 三.Dubbo原理简介 3.1) Dubbo简介 3.2) ...

  8. Dubbo原理与实践(2)

    Dubbo是阿里开源的的rpc框架,现已成为Apache的顶级项目.Dubbo在国内的大公司中使用较多,具有良好的服务治理能力. 在阿里停止维护一段时间后,2017年又重新开始维护,2.x的最新版本为 ...

  9. Dubbo原理和面试问题

    今天来说一说dubbo的原理,首先我们要知道dubbo到底是什么,都能提供些什么服务? 一.dubbo是什么? dubbo是⼀个分布式服务框架,提供⾼性能和透明化的RPC远程服务调⽤⽅案,以及SOA服 ...

最新文章

  1. 浅谈 JSON.stringify 方法
  2. 【IT笔试面试题整理】字符串转数组+数组转字符串
  3. Thymeleaf th:include、th:replace使用
  4. HTTP 协议(详解)
  5. C# Winform 窗体美化(一、IrisSkin 换肤库)
  6. 加载本地json文件,并利用批处理调用Chrome显示html
  7. 秋季促销海报素材手机端模板,让打折季像诗一样
  8. pylon 内存泄露的问题
  9. Python 的输出矩阵的一些常用设置
  10. kettle 提交数据量_kettle大数据量读写mysql性能优化
  11. 桌面计算机图标双击打不开了,双击打不开图标怎么办 双击打不开图标解决方法【详解】...
  12. STL ++iter与iter++区别
  13. python documents in chinese_基于 Python 的简单自然语言处理实践
  14. 基于yolov5-6.0版本的PCB板缺陷检测(Python/C++部署)
  15. cpuz测试分数天梯图_PC电脑桌面CPU天梯图2020 单路CPU性能排名
  16. linux命令tcp和tt,Linux中tcpdump命令起什么作用呢?
  17. MATLAB 函数大全
  18. Mac上挂载移动硬盘出现Read-only file system问题
  19. table如何正确的隐藏一列
  20. 用论文写作平台Overleaf写中文论文

热门文章

  1. SPH和Lagrange网格混合超高速碰撞仿真——基于Ls-dyna和Ls-prepost
  2. 你有一份超详细的深度学习装机指南等待认领!(下篇)
  3. Unity向量按照某一点进行旋转
  4. arcgis xml 下载 切片_生成切片缓存切片方案
  5. 老爸评测上线“老爸抽检”,携消费者深度参与质检全过程
  6. NFT 的基础知识:区块链上的数字艺术和收藏品
  7. 2021年饶州中学高考成绩查询,江西鄱阳县饶州中学高三男生看女生洗澡被追至坠亡?(图)...
  8. 只有学习才能走得更远
  9. php jcrop教程,PHP+Jcrop+artDialog头像上传
  10. 小程序重构第一期丨不小心删库了。。。