1、RPC:Remote Procedure Call 远程过程调用
一般是微服务系统下使用,分布式集群中,采用RPC的方式相互调用、连接
RPC与Http是不同纬度的,RPC一般依赖于TCP/IP协议,而Http依赖于HTTP协议;RCP是一种风格?效率高、网络开销小
目前使用较多的是阿里开源的Dubbo框架(RPC框架有很多,目前使用较多的是这一家)
2、耦合度:软件度量,指程序中模块与模块之间的依赖程度
一般低耦合性软件较好,低耦合性的软件可维护性、可读性较好,易于扩展
与耦合度对应的是内聚性,一般低耦合代表高内聚性,反之亦然
3、http时延的产生
1)DNS(域名解析系统:客户端根据URL解析出ip地址和端口号)解析耗时,无缓存时可能耗时10s左右
2)客户端和服务段建立TCP连接耗时,三次握手,耗时约1s
??不理解: 3)网络传输报文、服务端解析报文均耗时
4、http1.0、http1.1、http2.0的区别
http1.0的两个局限性:连接不能复用、head of line blocking(阻塞:当第一个请求被阻塞,后面的一系列请求均需等待)。
http1.1试图解决http1.0的“连接不能复用”问题,增加“connection”字段,当connection字段值为“keep-Alive”,会在一段时间(一般15s)内使连接可以复用;但是由于浏览器客户端对同一域名下的请求个数有限制,http1.1这个解决方案并不好。
http2.0改进点:a:二进制格式封装内容,将heads和body分别封装至两个帧(frame)中:HEADERS frame、DATA frame
b:连接共享(解决连接不复用):通过一个连接发送多个请求
c:压缩head,通讯双方缓存同一份header fields,减少大量head信息的传输
5、RTT:往返延时,网络中的一个重要性能指标,指发送端发送请求开始到发送端接收到接收端发来的确认消息,总共经历的延时
6、长连接:数据传输完成后保持TCP连接不断开(不进行四次挥手、不发RST包),等待同域名下再次使用这个通道传输数据;http1.1中将connection值设为“keep-Alive”就是长连接,反之将connection值设为“close”就是短链接