IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> RPC框架项目的学习 -> 正文阅读

[网络协议]RPC框架项目的学习

声哥文章?

https://blog.csdn.net/qq_40856284/category_10138756.html

PANDA文章(更易懂一些)

https://blog.csdn.net/qq_38685503/category_10794078.html

RPC八股文

关于RPC的一些问题的八股文总结_技术交流_牛客网

下面补一些RPC八股文链接里面没有答案的部分以及修改的部分

PS:因为注册中心用的NACOS 所以没有记录zookeeper的问题

一.注册中心

4.常用的服务注册中心, 注册中心的差异

??????微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比_琦彦-CSDN博客_zookeeper和nacos

5.为什么用Nacos做注册中心?

Nacos的使用比较简单

6.集群一般有几个节点,为什么?

存疑

7.socket过程中发生的系统调用

socket系统调用过程_hhhhhyyyyy8的博客-CSDN博客_socket的系统调用

补一张我照着原贴抄的笔记

19.分布式数据一致性协议都知道哪些 20.Raft了不了解

?常用的分布式一致性协议_TJtulong的博客-CSDN博客_分布式一致性协议

?21.分布式事务的几种解决方案

微服务架构-实现技术之三大关键要素2数据一致性:分布式事物+CAP&BASE+可靠事件模式+补偿模式+Sagas模式+TCC模式+最大努力通知模式+人工干预模式_xiaofeng10330111的博客-CSDN博客_sagas

33.服务端用的哪个类监听的

这里我觉得应该是serverBootstrap

34.自己实现的定时器是啥?

定时器用的是Netty的IdleStateHandler方法

PANDA的第十三章有写

手把手实现RPC框架--简易版Dubbo构造(十三)Netty心跳机制、实现服务负载均衡_PANDA博客-CSDN博客

用法

IdleStateHandler_丶洗牙刷脸-CSDN博客_idlestatehandler使用

37.如果是你如何设计一个nacos ,rpc如何调用

照搬阿里

?二、序列化与反序列化以及协议

5.有没有阅读过序列化(Java Serialization、Fastjson)之后的数据

序列化后数据的解读_weixin_30410119的博客-CSDN博客

9.序列化怎么做的(序列化怎么实现)?Kryo原理了解吗?

源码分析kryo对象序列化实现原理_库克look的博客-CSDN博客_kryo 源码分析

10.你说到你自定义了一个简单协议,自定义的协议头里包括哪些内容,多少字节,各自的作用是什么

PANDA文章有提到

首先是 4 字节魔数,表示一个协议包,用来识别是我们自定义的协议;接着是 Package Type,表示这是一个调用请求还是响应结果;Serializer Type 表示实际数据使用的序列化器编号,这个服务端和客户端应当使用统一标准;Data Length 就是实际数据的长度,设置这个字段主要防止粘包,最后就是经过序列化后的实际数据,可能是 RpcRequest 也可能是 RpcResponse 经过序列化后的字节,取决于 Package Type。


11.对象有一个属性是对象引用,怎么序列化

递归序列化类型和值

12.如何实现编解码及序列化?

手把手实现RPC框架--简易版Dubbo构造(七)netty传输与通用序列化接口实现_PANDA博客-CSDN博客

定义CommonEncoder编码器将原始数据转换为字节流,然后根据上面提到的协议格式,将各个字段写到一个字节数组中(堆外内存ByteBuf[ ]),通过构造器传进的序列化器序列化。

PS:序列化器为自定义序列化接口CommonSerializer的实现类(JSON、Kryo),与kryo原理的序列化器不同。

解码器就是将收到的字节序列还原为实际对象,主要就是进行字段的校验,比较重要的就是取出序列化器编号,以获得正确的反序列化方式,并且利用length字段来确定数据包的长度(防止粘包),读出正确长度的字节数组,然后反序列化成对应的对象。

13.那你这个序列化还是针对Java语言的,如何实现跨语言的序列化或者RPC框架?

跨语言问题在于序列化方式

由于本项目实现了两种序列化器,所以想要实现跨语言序列化使用JSON序列化器即可

三、Netty

四、负载均衡

五、RPC 和 HTTP

六、Nacos

?NACOS面试题

Nacos面试题_KGyyds的博客-CSDN博客_nacos面试

修改:

4.服务消费方是如何调用服务提供方的服务的?

通过本地创建的代理对象调用远程接口

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 19:15:44  更:2022-01-30 19:16:50 
 
开发: 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年11日历 -2024/11/26 9:29:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码