网络传输知识小记

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”就是短链接

 

你可能感兴趣的:(网络传输知识小记)