热门技术中的应用:微服务相关协议-第32讲-RPC协议综述:远在天边,近在眼前

news2024/11/24 10:52:48

前面我们讲了容器网络如何实现跨主机互通,以及微服务之间的相互调用。

网络是打通了,那服务之间的互相调用,该怎么实现呢?你可能说,咱不是学过Socket吗。服务之间分调用方和被调用方,我们就建立一个TCP或者UDP的连接,不就可以通信了?

你仔细想一下,这事儿没这么简单。我们就拿最简单的场景,客户端调用一个加法函数,将两个整数加起来,返回它们的和。

如果放在本地调用,那是简单的不能再简单了,只要稍微学过一种编程语言,三下五除二就搞定了。但是一旦变成了远程调用,门槛一下子就上去了。

首先你要会Socket编程,至少先要把咱们这门网络协议课学一下,然后再看N本砖头厚的Socket程序设计的书,学会咱们学过的几种Socket程序设计的模型。这就使得本来大学毕业就能干的一项工作,变成了一件五年工作经验都不一定干好的工作,而且,搞定了Socket程序设计,才是万里长征的第一步。后面还有很多问题呢!

如何解决这五个问题?

问题一:如何规定远程调用的语法?

客户端如何告诉服务端,我是一个加法,而另一个是乘法。我是用字符串“add”传给你,还是传给你一个整数

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计Python高校商铺管理系统论文(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

微服务框架 SpringCloud微服务架构 微服务面试篇 54 微服务篇 54.3 Nacos 如何支撑数十万服务注册压力?

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务面试篇 文章目录微服务框架微服务面试篇54 微服务篇54.3 Nacos 如何支撑数十万服务注册压力?54.3.1 Nacos 服务端源码54 微…

信息提取 Information Extraction

定义 信息提取任务是从一组非结构化自然语言文本中的每个文本中识别有关实体、关系或事件的预定义类的信息,并通过以下任一方式以结构化形式记录此信息: • 注释源文本,使用 XML 标签 • 填写与文本分开的数据结构,例如模板或数据…

centos8 nginx 开启 ssl(https)

centos8 nginx 开启 ssl(https)首先申请证书,以阿里云为例centos8 nginx 安装 sslnginx 配置文件遇到问题一直没有给域名开启 https,在 Cesium 沙盒模拟中使用 http 资源会提示错误,于是想着把 https 打开,…

【计算机毕业设计】基于HTML+CSS+JavaScript大学生心理咨询网设计毕业论文源码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

53.Python的f格式化字符串

53.f格式化字符串 文章目录53.f格式化字符串1.知识回顾2.f格式化字符串3.课堂练习4. 字符串格式化总结1.知识回顾 之前我们学了2种格式化方法: %占位符格式化 .format字符串格式化 【目标任务】 原样输出:大家好,我叫XXX,来自X…

2022卡塔尔世界杯 | 致我们每个人那份绿茵场上的足球梦

一个沾满草腥味的皮球,在经过一系列有名气的或者没名气的金脚触碰之后,缓慢地或者迅速地躲过后卫和门将大义凛然的身体,越过了那个由门柱和横梁构成的透明长方体平面…… 如果你不是球迷,你真的很难理解这么一个皮革制品的物理位移…

全网最详细的网络安全入门教程,一篇文章满足你

随着当下正在发生的互联网革命,以及乌俄局势的网络战,网络安全行业已经受到更多人的关注,而这个行业的人才缺口将继续呈指数型扩张。借用行业内某大咖的一句话“网络安全行业的人才成材率极低”,究其原因还是因为网络安全从业者所…

MD编辑器使用方法

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

如何解决 科班和自学编程出身差别,差距又在哪里?

自学和科班的差别最大的在于学习的人本身——不在呼是否科班。 自学编程和计算机科班出身的差别在哪? 不同的人持有不同的看法其实相辅相成才能发挥最大作用 A先生:听从父母的意见选择了编程专业,学习天天逃课,毕业后父母帮忙找…

十一、Docker 中redis集群扩容、缩容

接上篇redis集群3主3从搭建,如果您没看过,建议先看下:https://blog.csdn.net/u011837804/article/details/128321703 适逢双十一等大型活动流量爆增时redis集群扛不住了,这个时候怎么办呢,不能说把redis停了,我再搭建一个5主5从集群吧,这个时候就需要用到redis自动扩容…

Java反射机制与枚举类

目录 1.反射 1.1反射的定义与用途 1.2反射相关的类及方法 1.2.1(重要)获得类相关的方法 1.2.2(重要)获得类中属性相关的方法 1.2.3(重要)类中构造器相关的方法 1.2.4(重要)获得类中方法相关的方法 1.2.5获得类中注解相关的方法 1.3反射示例 1.3.1获取Class对象的三种…

实时采集MySQL数据之轻量工具Maxwell实操

文章目录概述定义原理Binlog说明Maxwell和Canal的区别部署安装MySQL准备初始化Maxwell元数据库Maxwell进程启动命令行参数配置文件实时监控Mysql输出KafkaKafka Topic分区控制实时监控MySQL指定表监控MySQL指定表同步全量数据概述 定义 Maxwell 官网地址 https://maxwells-dae…

3D相机获取点云信息的几种方法

在计算机中, 图像由一个个像素点组成。图像数据存储在每一个像素点中,每一个像素点包含了被测物体的信息。除了常见的RGB信息或者灰度信息以外,还可以包含深度信息和坐标等其它信息。在某个坐标系下的点的数据集又被称为点云。点云里的每一个点包含了丰富…

Windows取证——数据恢复(Fat32文件系统和NTFS文件系统)

目录 一、磁盘存储结构 (一)分区表 1.MBR 分区表(主引导记录Master Boot Record , mbr) 小实验:将磁盘改为活动分区 2.GPT 分区表(全局唯一标识分区表GUID PartITion Table,gpt …

《SpringBoot篇》24.SpringBoot整合Freemarker超详细教程

陈老老老板🦸👨‍💻本文专栏:SpringBoot篇(主要讲一些与springboot整合相关的内容)👨‍💻本文简述:本文讲一下SpringBoot整合Freemarker的整合教程超详细教程。&#x1f…

SPL 和 SQL 能不能融合在一起?

文章目录SPL 和 SQL 能不能融合在一起?SPL资料SPL 和 SQL 能不能融合在一起? SQL和SPL都是面向结构化数据的通用处理技术。SQL普及率高受众广,很多用户天生就会用SQL查询数据,如果数据引擎支持SQL就会很容易上手,而且…

【MySQL】数据库约束与聚合查询和联合查询等进阶操作知识汇总

目录1.数据库约束:1.1 约束的类型:1.2 unique:1.3 primary key:1.3.1 分布式系统下,自增主键如何生成唯一id:1.4 foreign key:1.4.1 逻辑删除:2.表的设计/数据库的设计:2.1 数据库是如何设计的?3.进阶插入操作:4.进阶查询:4.1 聚合查询:4.2 group by 列名:4.3 联合查询/多表查…

2508. 添加边使所有节点度数都为偶数 c++

给你一个有 n 个节点的 无向 图,节点编号为 1 到 n 。再给你整数 n 和一个二维整数数组 edges ,其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条边。图不一定连通。 你可以给图中添加 至多 两条额外的边(也可以一条边都不添加&#x…

C51——定时器控制寄存器

定时器的本质原理: 每经过一个一起周期,就加1 在寄存器里加 当我们想要操作寄存器的时候 就要找到TCON 当它开始数数的时候,会有天花板,会有溢出。 那我们怎么知道他溢出了?有TF0,当TF0 出现变化的时…