理解TCP三次握手,为什么是三次?兼谈初始化序号、发送和确认序号

上一篇关于TCP的文章,我们讲了TCP是如何一步步设计,来保证其消息发送的可靠性。参见:《TCP的滑动窗口机制,谈谈其设计演化过程(如何从无到有?从不可靠到可靠?)

这一节,我们就从TCP的三次握手开始,了解一下序号在TCP传输中的具体使用细节。 … [阅读文章]

TCP的滑动窗口机制,谈谈其设计演化过程(如何从无到有?从不可靠到可靠?)

理解TCP滑动窗口是如何工作的,对于理解TCP的其他知识是至关重要的。

相比于更为简单,同为传输层协议的UDP而言,TCP提供了对传输数据的质量保证。

在可靠性上,TCP确保传输的数据不丢失、不重复,也不会产生乱序。

同时,TCP还提供了流量控制,用于控制数据发送的速度,防止较快主机导致较慢主机的缓冲区溢出。 … [阅读文章]

Javassist实现JDK动态代理

提到JDK动态代理,相信很多人并不陌生。然而,对于动态代理的实现原理,以及如何编码实现动态代理功能,可能知道的人就比较少了。接下一来,我们就一起来看看JDK动态代理的基本原理,以及如何通过Javassist进行模拟实现。

JDK动态代理 示例

以下是一个基于JDK动态代理的hello … [阅读文章]

记录吴军老师的几点心得

中国有句话,叫做莫嫌少年贫,其实很有道理,我们看待一个年轻人,要看他成长的趋势,而不是现在有多少钱。

很多人在创业时,喜欢凑热闹,找风口,生怕错过了机会。我对他们讲,如果那个时间窗只有几个月、半年,那根本不是机会,只是一次投机而已。这就是静态地看待时机。 … [阅读文章]

《一往无前》雷军亲述小米热血10年摘录

非常推荐关于小米的《一往无前》一书,真实、融入情感、较为完整的呈现了小米成长过程的每一段经历,做事全情投入,遇到困难而无所畏惧,让人热血沸腾。

雷军七字诀:专注、极致、口碑、快。

下面是一些摘录:

雷军:
小米就是工程师的梦想,靠技术和产品亲手改变世界,让世上每一份的认真投入,都能有公道的回报。 … [阅读文章]

大型网站架构的演化过程

重温《大型网站技术架构》一书,做一下读书笔记。

大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得很棘手。大型网站架构主要就是解决这类问题。

1.初始阶段的网站架构 … [阅读文章]

系统可靠性的三个概念

本文简单总结一下系统可靠性的三个概念。

1.高可用(High Availability,HA)

当系统发生故障时,允许短暂中断(如可用时间为5个9)。通过冗余实例和失效检测,实现快速恢复。

2.容错(Fault Tolerant,FT)

当系统发生故障时,仍可以继续运行,做到零宕机时间,运行水平可能有所下降。 … [阅读文章]