Weir's Note
Home
Archives
Tags
About
[译] Linux bcc/eBPF tcpdrop
最近在看 eBPF 的一些材料,看到 Brendan Gregg 的博客,后面想陆续针对一些主题翻译下,这一篇主要自介绍 tcpdrop,文章比较短,原文地址 在调试基于内核的 TCP 数据包丢弃的生产问题时,我记得在Linux 4.7中 Eric Dumazet(Google) 添加了一个名为 tcp_drop() 的新功能,我可以使用 kprobes 和 bcc/eBPF 进行跟踪。 这需
2019-10-25
sre
tcp
kernel
一个 Connect Timeout 故障排查
问题描述有用户反馈在dubbo的应用发布后,过几分钟之后,调用方会出现大量的connectTimeout。当时在服务端容器上进行了抓包,看到在故障期间,客户端发了syn,但是服务端没有任何响应。 分析问题正常的TCP三次握手: 客户端发送syn给服务端发起握手 服务端收到syn后回复syn+ack 客户端收到syn+ack后,回复ack给服务端,此时客户端上这个连接,进入establ
2019-10-21
sre
tcp
MasteringGo 翻译完成
之前,运维或者运维开发很多时候主力语言都是python,python作为动态解释性语言,一方面,较低的运行效率,一些场景无法满足,另一方面,过于灵活的语言特性也导致多人协作和项目维护成本较高。受益于云原生的发展,Golang自然也成为了云计算时代的语言,所以也希望Golang能够替代Python,成为后续团队内的主力开发语言。一方面是自己参加Golang委员会,推动Golang的一些技术落地,另一
2019-08-23
golang
关于 423 故障
其实写这种文章压力很大,因为本身自己写这种总结类文章文采真的很差,刚好昨天聊到了这个话题,我还是想把自己想的一些思考记录下来。 故障原因和恢复过程就不介绍了,只能说故障确实是暴露问题最充分的渠道,故障后,灾备设计、稳定性工具、容量规划、HA设计等等,都暴露出很多问题。
2019-04-30
sre
一台服务器可以发起多少个连接
最近好多同学纠结这个问题,拿出以前分享的ppt发个博客。总结来说,发起多少连接不受源端口限制,只要保证TCP四元组唯一,那么就可以继续建立连接。
2019-04-19
tcp
two-sum
最近刚好在学golang,所以就拿简单的LeetCode提来练习练习,顺便把结果分享下 题目描述: 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9
2019-02-14
golang
DNS 缓存介绍: NSCD
前言NSCD(name service cache daemon)是我们在linux上最常用的DNS缓存服务,它是glibc网络库的一个组件。基本上来讲我们能见到的一些编程语言和开发框架最终均会调用到glibc的网络解析的函数(如GETHOSTBYNAME or GETHOSTBYADDR等),因此绝大部分程序能够使用NSCD提供的缓存服务。当然如果是应用端自己用socket编写了一个网络clie
2019-02-02
sre
dns
TLS1.3 初探
openssl1.1.1 final正式发布后,准备在线上开始灰度了。虽然之前有一些了解,但是其实没有准确的认知,所以需要再好好的分析一下: 大体上的区别我们先看下tls1.3和tls1.2有什么区别:tls1.3: tls1.2: 从这两张图就可以明显的看出tls1.3和tls1.2的数据包的不同,在tls1.3中,自从ServerHello之后全是Application Data了,甚
2018-10-16
https
听说你访问了 Ctrip
昨天和新人交谈的时候,发现他们对网站整体的访问和架构都不清楚,所以想着可以写一篇比较白话一点的技术入门文章,内容上也可以慢慢丰富。 马上就是国庆了,然后你想出去旅游,你打开了Ctrip。下面来看看,当你在浏览器轻轻 www.ctrip.com 以后发生了什么? 首先你的浏览器查询了DNS服务器(注:能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址,例如192.168.1
2018-09-12
sre
8.8.8.8 的问题
其实这不是8.8.8.8的问题。 我们的海外站点使用了akamai的海外加速,最近有海外用户报障说访问海外站点缓慢,排查后发现直接访问了国内的源站, 且公共dns使用的是8.8.8.8,可以说非常奇怪。 相信大家都知道8.8.8.8是谷歌的公共dns地址,我们先来看下技术。 8.8.8.8完美支持edns-subnet-client(ecs,其实是谷歌自己提出来的协议),怎么理解呢,国内用户设
2018-08-22
sre
dns
1
2
3
4
Search
×
keyword