2023,再见。
生活
- 本来计划着跨年去桐庐滑雪的来着。上周说队友姥爷情况不太好,所以取消了滑雪改成回家;本周队友姥爷突然不在了,所以紧急改票,请假回家。
- 于是元旦这几天几乎都在路上……
学习和折腾
- 就,突然想搞个消息推送服务。看到 bark 比较好用,在火车上连上 vpn,在手机上复制粘贴 yaml,然后就搞好了。
- 这下子 nas 和其他啥啥啥东西就可以主动给我发送状态通知了。
- 在看 traefik,希望能把现在的 nginx 换成 treafik
- nginx 用着没什么不好的,就是需要手动搞配置文件,稍微有点麻烦。而且,万一一个下游挂掉了,nginx 是直接报错说下游找不到,这点比较奇怪。
- 当然,之前看过 nginx-proxy 之类的东西,可以通过给 docker 加 label 以自动配置 nginx,但,对于一个 “原版控” 来说,这种基础组件我不希望引入一些第三方的东西。
- 也看过 caddy 。它的优势是自动 https(想当初 nginx 的 https 我是真的配置了好久,后来发现原来其实这么简单),但是每增加一个路由似乎还是要写一些配置文件。那么,pass 吧。
- traefik 是之前折腾 k3s 的时候知道的。看上去是我想要的,希望坑不多吧。
工作
果然是 “慢工出细活” 。赶鸭子上架/赶 DDL 就是容易出问题。
- 上周把重写版服务上线了,当时看着是没啥问题,就是偶尔有一点空指针异常。本周上游找来了,说服务时延比较大,容易超时,导致更大的失败。
- 我当时只做了向后兼容,没做向前兼容,所以回滚是不太可能了,只能硬着头皮继续打补丁。
- 首先是一个硬编码逻辑。
- 然后是消费者。重构的时候把消费者写成同步的了,生产速度有 150 但是消费速度只有 2,造成了 6M 的消息堆积。改成异步后,消费速度直接飙上了 200(我设置了 rate limit,否则速度更高),这下我自己的下游被打爆了。调了好久才调平衡。
- 然后是其他逻辑。本来想的是 “不管咋个,全部扔给异步计算就好了”,现在看来不太行,有很多的重复请求,重复大概 10 倍的计算。所以还得补一些去重的操作。
- 还得修一些空指针异常。
- 哦,上面这些东西都是封板期间操作的,还第一次提了 “封板期间上线” 单子……
于是这一周就在修修修 bug 中度过了。
就这样,结束 2023 年。