【RPC框架|青训营笔记】

42 阅读2分钟

这是我参与【第五届青训营】伴学笔记创作活动的第七天。

 

一、本节课的主要内容

 

包括四个大方面,分别是RPC框架基本概念、分层设计、关键指标、企业实践。

 

 

二、详细知识点介绍

 

IDL (Interface description language)文件 

 

IDL通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信 

 

生成代码 

 

通过编译器工具把IDL文件转换成语言对应的静态库 

 

编解码 

 

从内存中表示到字节序列的转换称为编码,反之为解码,也常叫做序列化和反序列化 

 

通信协议 

 

规范了数据在网络中的传输内容和格式。除必须的请求/响应数据外,通常还会包含额外的元数据 

 

网络传输 

 

通常基于成熟的网络库走TCP/UDP 传输

 

 三、实践练习例子

 

套接字编程中的客户端必须知道两个信息:服务器的IP地址,以及端口号。 

 

socket函数创建一个套接字, bind将一 个套接 字绑定到一个地址上。

 

 

listen 监听进来的连接,backlog的含义有点复杂, 这里先简单的描述:指定挂起的连接队列的长度,当客户端连接的时候, 服务器可能正在处理其他逻辑而未调用 

 

 

 

Linux的backlog默认是128, 通常情况下,我们也指定为128即可。 

 

 

 

 

connect客户端向服务器发起连接,accept 接收一个连接请求,如果没有连接则会一直阻塞直到有连接进来。 得到客户端的fd之后,就可以调用read, write函数和客户端通讯,读写方式和其他I/O类似

 

四。、课后个人总结

 

 学完课程后,让我对RPC框架有了更加清晰和深刻的理解。对后端这个岗位有了更清晰的了解。了解到了后端发展的历程,扩宽了我的知识面。