添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

今天来讲一讲TCP 的 TIME_WAIT 的问题。这个问题尽人皆知,不过,这次遇到的是不太一样的场景,前两天也解决了,正好写篇文章,顺便把 TIME_WAIT 的那些事都说一说。对了,这个场景,跟我开源的探活小工具 EaseProbe 有关,我先说说这个场景里的问题,然后,顺着这个场景跟大家好好说一下这个事。

先说一下背景, EaseProbe 是一个轻量独立的用来探活服务健康状况的小工具,支持http/tcp/shell/ssh/tls/host以及各种中间件的探活,然后,直接发送通知到主流的IM上,如:Slack/Telegram/Discrod/Email/Team,包括国内的企业微信/钉钉/飞书, 非常好用,用过的人都说好 😏。

这个探活工具在每次探活的时候,必须要从头开始建立整个网络链接,也就是说,需要从头开始进行DNS查询,建立TCP链接,然后进行通信,再关闭链接。这里,我们不会设置 TCP 的 KeepAlive 重用链接,因为探活工具除了要探活所远端的服务,还要探活整个网络的情况,所以,每次探活都需要从新来过,这样才能捕捉得到整个链路的情况。

阅读全文 Read More

好烂啊 有点差 凑合看看 还不错 很精彩 ( 62 人打了分,平均分: 4.50 )
Loading...

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看 W.Richard Stevens 的《 TCP/IP 详解 卷1:协议 》(当然,你也可以去读一下 RFC793 以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相关的技术文档。

之所以想写这篇文章,目的有三个,

  • 一个是想锻炼一下自己是否可以用简单的篇幅把这么复杂的TCP协议描清楚的能力。
  • 另一个是觉得现在的好多程序员基本上不会认认真真地读本书,喜欢快餐文化,所以,希望这篇快餐文章可以让你对TCP这个古典技术有所了解,并能体会到软件设计中的种种难处。并且你可以从中有一些软件设计上的收获。
  • 最重要的希望这些基础知识可以让你搞清很多以前一些似是而非的东西,并且你能意识到基础的重要。
  • 所以,本文不会面面俱到,只是对TCP协议、算法和原理的科普。

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 132 人打了分,平均分: 4.80 )
    Loading...
  • 程序员技术练级攻略
  • “火柴棍式”程序员面试题
  • 简明 Vim 练级攻略
  • “作环保的程序员,从不用百度开始”
  • TCP 的那些事儿(上)
  • AWK 简明教程
  • 做个环保主义的程序员
  • 编程能力与编程年龄
  • 二维码的生成细节和原理
  • sed 简明教程
  • 如何学好C语言
  • 如何超过大多数人
  • 技术人员的发展之路
  • 疫苗:Java HashMap的死循环
  • 由12306.cn谈谈网站性能技术
  • 缓存更新的套路
  • 应该知道的Linux技巧
  • 别让自己“墙”了自己
  • TCP 的那些事儿(下)
  • 分布式系统的事务处理
  • 无锁队列的实现
  • “21天教你学会C++”
  • Lua简明教程
  • 如何写出无法维护的代码
  • 性能调优攻略
  • MySQL性能优化的最佳20+条经验
  • 6个变态的C语言Hello World程序
  • Docker基础技术:Linux Namespace(上)
  • 28个Unix/Linux的命令行神器
  • 我做系统架构的一些原则
  • 业界新闻 (33)
  • 企业应用 (2)
  • 技术新闻 (38)
  • 技术管理 (19)
  • 技术读物 (125)
  • 操作系统 (97)
  • Unix/Linux (81)
  • Windows (12)
  • 数据库 (11)
  • 杂项资源 (295)
  • 流程方法 (48)
  • 程序设计 (110)
  • 系统架构 (15)
  • 编程工具 (67)
  • 编程语言 (326)
  • .NET编程 (3)
  • Ajax开发 (9)
  • C/C++语言 (74)
  • Erlang (1)
  • Go 语言 (15)
  • Java语言 (32)
  • PHP脚本 (11)
  • Python (23)
  • Ruby (5)
  • Rust 语言 (1)
  • Web开发 (106)
  • 网络安全 (36)
  • 职场生涯 (40)
  • 趣味问题 (19)
  • 轶事趣闻 (147)
  •