摘要:
what: CMS全称Concurrent marke sweep,中文是并发标记清除算法。 CMS出现的目的是:尽可能的减少STW(stop the world)的时间。 大体流程: 注意:“预清理”和“可终止清理”没有标记出来 how: CMS工作分7步,分别是: 1、初始标记; STW的方式工 阅读全文
摘要:
what 拥塞控制机制:控制发送方发送数据速率,使其和网络环境一致。 机制: 发送方维护一个“拥塞窗口”变量cwnd,它和接收方共同决定发“送窗口”swnd的大小。 慢启动:发送方刚开始发送数据时,不会一次将大量的数据注入网络,而是先发1个字节,当收到ACK后,再发2个字节,依次类推,按照2的指数级 阅读全文
摘要:
why: 在接收方高负载的情况下,如果发生方不停的发送数据,而接收方处理不了。发送方就不断重复发,从而产生浪费。在该种背景下,TCP提供了流量控制机制:让发送端根据接收端的实际能力来决定发送数据的量。 what: 如下图。接收方在ACK时,带上自己数据接收缓存的大小。当3001~4000的ACK返回 阅读全文
摘要:
TCP滑动窗口下如何重发控制。 ACK在返回途中丢失:后续报文ACK,稍待ACK确认之前的报文。 在这种情况下,实际不需要在重复发送数据包到对方。如果没有使用窗口机制,发送方会重复发送数据。在使用滑动机制情况下,如果收到下一个或者下多个的数据报文的ACK,就不需要再等当前的ACK了。如下图: 数据包 阅读全文
摘要:
what: 滑动窗口:是传输层为了进行流量控制而采取的一种措施。由接受方来告诉发送方自己窗口的大小,从而来控制发送方的速率。 滑动窗口分为:发送窗口和接受窗口。 滑动:发送方根据接受窗口来决定自己的发生窗口。发送窗口的位置会随着接受确认报文,而不断向后滑动;并且发生窗口的大小,也会随着接受窗口的大小 阅读全文
摘要:
关系数据库大家都不陌生,使用一个RDBMS和HBase例子来说明。 RDBMS例子: 数据: 对比: 那HBASE是什么样的了? 表设计: 数据: HBASE表的基本概念: Row key:行主键, HBase不支持条件查询和Order by等查询,读取记录只能按Row key(及其range)或全 阅读全文
摘要:
what(保活机制是什么): 服务器端设置一个保活定时器,当定时器开始工作时,就会定时的向网络通信的另一端发送保活探测的TCP报文。如果服务器接收到了ACK报文,那么对方是存活的,否则网络存在故障。 why(保活机制为何要存在): 1、通过保活机制可以保证通信双方连接不被释放,即:长连接的场景; 2 阅读全文
摘要:
背景: 理想状态下,一个TCP连接可以被长期保持,但是实际情况下,一个看似正常的TCP连接,可能已经断连。两个主机之间通讯,往往需要通过多个中间节点,如:路由器、防火墙等。因此两个主机TCP连接保持同样受中间环节影响。断连的TCP连接已经没有意义了,但是维护这样的连接,可能会浪费服务器的系统资源(尤 阅读全文
摘要:
建立连接后,两台主机就可以相互传输数据了。 上图给出了主机A分2次(分2个数据包)向主机B传递200字节的过程。首先,主机A通过1个数据包发送100个字节的数据,数据包的 Seq 号设置为 1200。主机B为了确认这一点,向主机A发送 ACK 包,并将 Ack 号设置为 1301。 为了保证数据准确 阅读全文
摘要:
概述(what) serviceMesh:也叫服务网格。它看起来确实就像是一个由若干服务代理所组成的错综复杂的网格。 sidecar:也叫边车模式。sidecar是一种代理模式。它将分布式服务的通信抽象为单独一层,在这一层中实现负载均衡、服务发现、认证授权、监控追踪、流量控制等分布式系统所需要的功能 阅读全文