Published on

2023 Dec Weekly Report 2

Authors
  • avatar
    Name
    Sunway
    Twitter

工作

BFD

第一次用BFD(Bidirectional Forwarding Detection)在双活专线上做BGP网络故障检测和路由收敛的测试

BFD(Bidirectional Forwarding Detection)是一种用于快速检测网络中转发路径故障的协议。它通过定期发送 Hello 数据包来检测邻居设备的状态,一旦在规定的时间内未收到邻居设备的响应,就会判断邻居设备出现故障。BFD的故障检测定时器比BGP的默认故障检测机制更短,因此能够提供更快的故障检测速度。

健康检查 与 Netty

这周发现个有意思的问题,原来公有云负载均衡的对后端TCP类型Health Check都是发送[Sync ACK]就完事了,不需要发送[Finish]

简单来说就是三次握手变成了两次握手,由原本的确认双方的收发都是正常的变成了只要确认对方收的功能正常就行

如下图所示,每次对端(服务器)ack 后,健康检查组件(客户端)就会主动发送 Reset 包来关闭 TCP连接

AlbTCPHealthCheck

这个两次握手就会导致一个问题:当对Netty后端进行TCP类型的健康检查时就会出现以下报错

NettyErr

其实这个问题很早之前就在Netty社区讨论过:https://github.com/netty/netty/issues/6029

前人是在用 Haproxy 做的负载均衡,当对后端Netty服务器进行健康检查时出现了这个问题,因为netty想返回数据包给对端时发现对端已经发送reset信号主动关闭了连接,所以报了这个错

解决方法:

HTTP 做健康检查,但由于业务那边没有写 /health_check 探活接口,所以只能用业务接口探活,不带 token/cookie 去请求的话,返回 http code 401 就算探活成功

生活

  • 天气转凉了,完全不想动
    • 老妈花了2000去学抖音运营,刚好长沙大降温,学了两天就想打退堂鼓了。还是我父母这一代中老年人的韭菜最好噶...
    • 给车子办了违章共享功能,这样有违章的话家里人能及时收到通知
    • 玩了6年的 部落冲突 Clash of Clans 退游了,其实2015年初三的时候我就玩过一段时间,上大一时又重新开始玩,以前是AnyCast全球同服,能和越南、韩国、日本、欧美等世界各地的玩家互动交流,后来需要保证闭关锁国防止外部势力入侵,所以马服被独立了出来,当时就想退游的,结果一直拖到现在。然后最近马服更新了全图号角、点券、抽奖活动、各种各样的皮肤等一堆乱七八糟的东西,让这个游戏变得更加适合中国宝宝体质了。之前的规划是刷完15本的墙就退游,但16本就要更新了,现在看来是来不及了,就这样结束吧
    • 看了 杀手 The Killer涉过愤怒的海 ,感觉还不错
    • 闲的很,但又做不出什么有实质性的进展事情,等圣诞节休个长假放空一下吧,迷茫ing

学习

  • 全力抵制学习新知识的诱惑,总是啥都想去看一下...
  • 看了 informer 部分相关的源码,梳理了一下 Operator 开发的思路
  • 开始做博客内容的迁移并做当前博客的定制化开发