TCP如何保证传输的可靠性

校验和 序列号 对数据进行了编号 确认应答 每次接收方接收到数据之后,就会对传输方进行应答 超时重传 发送方在发送完数据之后,如果一定的时间没有收到来自接收方的 ACK ,那么对刚才发送的数据进行重新发送 连接管理 三次握手,四次挥手 流量管理 滑动窗口 拥塞控制 慢启动,快重传

TCP的两个窗口

滑动窗口是接收数据端使用的窗口大小,用来告知发送端接收端的缓存大小,以此控制发送端发送的数据大小,从而达到流量控制的目的,由接收端的rwnd:接收端窗口(receiver window)控制。 拥塞窗口,发送端主动控制cwnd,有慢启动(cwnd初始值为1,指数启动),拥塞避免(到达ssthresh后,开始尝试...

UDP有拥塞控制吗?如何解决?

使用 RTP ,基于 UDP,提供 QOS 服务质量控制。

TCP的拥塞控制,具体过程是怎么样的

close wait 和time wait 是什么?如何排查?有什么意义?

TIME WAIT主动关闭方在收到被关闭方的FIN后会处于并长期(2个MSL时间,建议值是2min)的状态,大约是1-4分钟。然后由操作系统回头连接并将TCP连接设为CLOSED初始状态。 CLOSE WAIT是被动关闭连接形成的,被动端收到主动端的FIN时候,发送ACK确认,并进入CLOSE_WAIT的状态,如...

free -h,buffers 和 cached 有什么不同?

cached 缓存是把读取过的数据保存起来,重新读取时若命中,就不去读硬盘了。数据会根据访问频率组织。 buffer 缓冲是根据磁盘的读写设计的,把分散的写操作集中,减少磁盘碎片,提高性能。 buffer 是即将要被写入磁盘的,而 cache 是被从磁盘中读出来的。

go函数中,返回值未命名,发生了panic,但是在函数内recover了。函数返回什么值?

返回 panic value

api_gateway 高可用的方案

api_gateway 采用负载均衡部署方式,避免单点故障。独占方式部署,避免资源不足 做流控和熔断,比如限制最大请求数和请求频率。对同时处于 pendding 状态的 HTTP 请求进行数量限制,避免服务雪崩。 对 api_gateway 做可用性监控,如出现一定程度的不可用,自动重启服务。

http req和resp的中数据有哪些

req 有 Request line、header 和 bodyresp 有 Status line、header 和 body req header referrer Host Encoding Content-type Cookie User-Agent Connection Acceptbody 是键=值&...

mysql 左连接,右连接

以 select * from a [] join b on a.id=b.id LEFT左连接,a 表的所有内容都会出现,b表符合搜索条件的会出现,B 表不符合的为 NULL。 RIGHT右连接,b 表所有的内容都会出现,a表符合搜索条件的会出现,左表不符合的为 NULL 。 JOIN只返回符合条件的部分,也就...