| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Dubbo(RPC?什么是Dubbo?有什么特征?) -> 正文阅读 |
|
[网络协议]Dubbo(RPC?什么是Dubbo?有什么特征?) |
目录 什么是RPC?RPC是Remote Procedure Call 的缩写,远程过程调用 目标是为了实现两台(多台)计算机\服务器,相互调用方法\通信的解决方案 RPC只是实现远程调用的一套标准 该标准主要规定了两部分内容: 1、通信协议 2、序列化协议 在程序中,通信方式也有多种 通信协议
序列化协议序列化协议指通信内容的格式,双方都要理解这个格式 发送信息是序列化的过程,接受信息需要反序列化 程序中,序列化的方式也是多种的 什么是Dubbo?Dubbo是一套RPC框架。既然是框架,我们可以在框架结构高度,定义Dubbo中使用通信协议,使用的序列化框架技术,而数据格式有Dubbo定义,我们负责配置之后直接通过客户端调用服务端代码。 可以说Dubbo就是RPC概念的实现 Dubbo是SpringCloudAlibaba提供的框架能够实现微服务相互调用的功能 Dubbo的发展历程我们学习的Dubbo指的都是2.7之后的版本 是能够和SpringCloudAlibaba配合使用的 Dubbo历程2012年底dubbo停止更新后到2017年dubbo继续更新之前 2015SpringCloud开始兴起,当时没有阿里的框架 国内公司要从SpringCloud和Dubbo中抉择使用哪个微服务方案 在2012年dubbo停止更新后国内的当当网在dubbo的基础上开发了dubboX框架,并进行维护 2019年后,SpringCloud和Dubbo才能共同使用 Dubbo对协议的支持RPC框架分通信协议和序列化协议 Dubbo框架支持多种通讯协议和序列化协议,可以通过配置文件进行修改 Dubbo支持的通信协议
支持的序列化协议
Dubbo默认情况下,支持的协议有如下特征:
Dubbo方便支持高并发和高性能(小文件) Dubbo服务的注册与发现 在Dubbo的调用过程中,必须包含注册中心的支持 项目调用服务的模块必须在同一个注册中心中 注册中心推荐阿里自己的Nacos,兼容性好,能够发挥最大性能 但是Dubbo也支持其它软件作为注册中心(例如Redis,zookeeper等) 服务发现,及消费端自动发现服务地址列表的能力,是微服务框架需要具备的关键能力,借助于自动化的服务发现,微服务之间可以在无需感知对端部署位置与IP地址的情况下实现通讯。 consumer服务的消费者,指服务的调用者(使用者) provider服务的提供者,指服务的拥有者(生产者) 在Dubbo中,远程调用依据是服务的提供者在Nacos中注册的服务名称 一个服务名称,可能有多个运行的实例,任何一个空闲的实例都可以提供服务 常见面试题:Dubbo的注册发现流程1.首先服务的提供者启动服务时,将自己的具备的服务注册到注册中心,其中包括当前提供者的ip地址和端口号等信息,Dubbo会同时注册该项目提供的远程调用的方法 2.消费者(使用者)启动项目,也注册到注册中心,同时从注册中心中获得当前项目具备的所有服务列表 3.当注册中心中有新的服务出现时,会通知已经订阅发现的消费者,消费者会更新所有服务列表 4.RPC调用,消费者需要调用远程方法时,根据注册中心服务列表的信息,只需服务名称,不需要ip地址和端口号等信息,就可以利用Dubbo调用远程方法了 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 6:21:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |