合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
我司使用的是亚马逊厂商的云服务,厂商的消息队列产品我们并没有用,我们选择自建,自建的好处是更灵活,定制性更广。公司内部有多套Kafka集群,100+broker节点,针对kafka我司也有比较完善的自动化运维管理体系,最近出现过一次业务连接kafka集群频繁超时的情况,在这里记录下处理过程,加深对网络知识的理解。
业务收到服务可用性下降报警,分析日志发现是连接亚马逊kafka集群有频繁超时,超时日志如下:
网络问题从表面看不到细节,只能通过抓包分析,同时抓取了客户端和服务端的数据包,抓包命令如下:
# 客户端(抓所有和kafka节点通信的网络数据包)
nohup tcpdump port 9092 -w kafka.pcap &
# 服务端(抓所有和客户端主机通信的数据包)
nohup tcpdump host 10.66.67.166 -s0 -w 10.66.67.166.pcap &
TOP