网络传输知识小记

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值