RPC远程服务调用

2023-10-27

1. 基本概念

  • 跨网络、跨进程的方法调用
  • 因为客户端和服务端位于网络上不同的地址,要完成一次rpc调用,则需要以下步骤
    • 首先建立网络连接
    • 建立连接后,双方需要按照某种约定的协议进行网络通信
    • 能正常通信后,服务端收到请求后需要以某种方式处理,处理完成后把请求结果返回给客户端
    • 为了减少传输数据大小,还需要对数据进行序列化与反序列化

2. 连接方式

  • 可以基于HTTP通信
    • 但是一次http通信就需要一次三次握手,四次挥手。反复建立和销毁tcp连接,速度不够快。
  • 基于TCP通信
    • 也就是基于Socket通信,可以维持长连接,速度更快
  • 客户端和服务端通信还要有以下机制保证
    • 链路存活检测,客户端定时发送给服务端心跳检测,检测链路状态
    • 断连重试

3. 服务端处理请求方式

  • 同步阻塞方式:客户端一个请求,服务端对应一个线程去处理。
  • 同步非阻塞方式:基于IO多路复用,把多个IO的阻塞复用到同一个select的阻塞上。
  • 异步非阻塞方式:基于AIO,实现困难,理论上效率最好

4. 数据传输协议

  • 协议一般包括协议头和内容体
    • 协议头:消息长度,消息类型,头部长度,其他信息
    • 内容体:真实想传递的数据
  • 可以基于http协议
  • 也可以自定义协议

5. 序列化与反序列化

  • 序列化与反序列化说的是内容体采用什么要的数据编码问题
  • 解决客户端和服务端采用哪种数据编解码的问题
  • 可以基于文本协议如json,但是最终网络传输还是二进制形式
  • 也可以基于自定义编码协议如thrift

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RPC远程服务调用 的相关文章

  • 光纤知识总结

    1光纤概念 光导纤维 英语 Optical fiber 简称 光纤 是一种由玻璃或塑料制成的纤维 利用光在这些纤维中以全内 反射 原理传输的光传导工具 微细的光纤封装在塑料护套中 使得它能够弯曲而不至于断裂 通常光纤的一端的发射设备使用发光
  • 网络基础面试题(二)

    11 什么是网桥 防火墙的端口防护是指什么 网桥是一种网络设备 用于连接两个或多个局域网 LAN 并转发数据包 它能够根据MAC地址来识别和转发数据 提高网络的传输效率和安全性 防火墙的端口防护是指对防火墙上的各个端口进行保护和限制 只允许
  • 毕业设计 HTTP 自助服务

    目录 项目 HTTP 自助服务 介绍 项目展示 背景知识 HTTP 协议 HTTP自主服务编写 sock 套接字编写 Tcp 服务器编写 小组件 锁守卫 lockGuard 测试Tcp服务器运行 编写 HTTP 服务 Tcp 服务中获取监听
  • 6类典型场景的无线AP选型和部署方案

    你们好 我的网工朋友 前段时间刚给你们来了篇解决无线频繁断网的技术文 解决无线频繁断网 这个办法值得收藏 不少朋友私聊 说想再聊聊无线AP的选型和部署方案 这不就安排上了 无线网络覆盖项目中 无线AP的合理选型和部署非常重要 在设计施工中
  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 如何使用Imagewheel搭建一个简单的的私人图床无公网ip也能访问

    文章目录 1 前言 2 Imagewheel网站搭建 2 1 Imagewheel下载和安装 2 2 Imagewheel网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar临时数据隧道
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 揭秘网络世界的幕后密码——Wireshark网络协议分析软件

    在我们日常生活中 计算机和互联网已经成为不可或缺的一部分 然而 很少有人真正了解网络背后复杂的工作原理和通信协议 幸运的是 有一款强大而实用的软件 Wireshark 可以帮助我们深入了解网络世界的幕后密码 Wireshark是一款免费的网
  • DSCA190V 57310001-PK

    DSCA190V 57310001 PK DSCA190V 57310001 PK 具有两个可编程继电器功能 并安装在坚固的 XP 外壳中 DSCA190V 57310001 PK 即可使用 只需最少的最终用户校准 DSCA190V 573
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培
  • Corda 在终端中查看消耗状态

    有没有一种简单的方法可以使用 CordaRPCOps 界面查看终端中的消耗状态 似乎VaultQuery默认返回未使用的状态 我不知道如何使用vaultQueryBy或任何符合条件的东西 我知道应该有消耗状态 因为我可以用 H2 看到它们
  • 在 Java 中伪造堆栈跟踪

    当您在 Java 中使用 RMI 时 异常的远程堆栈跟踪将在您收到异常时添加到前面 有点像这样 ERROR Client received error when doing stuff myapp FooBarException bla a
  • Kubernetes,无法通过 DNS 挂载 NFS 共享

    我正在尝试通过 DNS 查找在我的容器中安装 NFS 共享 k8s 集群外部 我的配置如下 apiVersion v1 kind Pod metadata name service a spec containers name servic
  • RPC 模型中的correlationId 和临时队列 - AMQP

    我正在读书RPC模型 http www rabbitmq com tutorials tutorial six java html在 AMQP 中使用 RabbitMQ 本教程创建了一个临时队列 并且还correlationId 临时队列是

随机推荐