惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
The Hacker News
The Hacker News
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
T
Tenable Blog
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Securelist
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
F
Fortinet All Blogs
Engineering at Meta
Engineering at Meta
Simon Willison's Weblog
Simon Willison's Weblog
The Register - Security
The Register - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
Lohrmann on Cybersecurity
C
Cyber Attacks, Cyber Crime and Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
H
Help Net Security
T
Threat Research - Cisco Blogs
D
DataBreaches.Net
S
Schneier on Security
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
P
Privacy International News Feed
S
Secure Thoughts
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recorded Future
Recorded Future
C
Cybersecurity and Infrastructure Security Agency CISA
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
博客园 - Franky
T
Tor Project blog
G
GRAHAM CLULEY
博客园 - 【当耐特】
Jina AI
Jina AI
Security Archives - TechRepublic
Security Archives - TechRepublic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
A
About on SuperTechFans
Hacker News - Newest:
Hacker News - Newest: "LLM"

卡瓦邦噶!

服务器高性能网络调优 | 卡瓦邦噶! 为何写作 | 卡瓦邦噶! 读《金阁寺》 | 卡瓦邦噶! 雨季又来 | 卡瓦邦噶! MTU Probe 引起的初始延迟 | 卡瓦邦噶! 3.5 秒的固定延迟问题 | 卡瓦邦噶! 学习网络的一点经验 | 卡瓦邦噶! ARP 问题诊断 | 卡瓦邦噶! 网络断断续续…… | 卡瓦邦噶! Piccolo P2P 镜像分发 | 卡瓦邦噶! 一起看电影 | 卡瓦邦噶! 《征服C指针》 | 卡瓦邦噶! 我的姥姥 | 卡瓦邦噶! Python的哲学 Python 3.5的新特性 学校不教的计算机课 垃圾回收(GC)的三种基本方式 在编程中体验纯粹的快乐 从《美丽新世界》谈自由 在快钱实习 迷人的嗓音和迷人的故事——《Sleepyhead》 Python 的十个自然语言处理工具 记一个愚蠢的bug 一年炉石传说的游戏体验 《以撒的结合:重生》网页版图鉴 分清 C++的指针、引用和数组 笑话三则 自由比皇帝更伟大——《悲惨世界》笔记 Git 10 周年访谈:Linus 讲述背后故事 用 0x3f3f3f3f 设定最大int值的优点 Joel给计算机系学生的建议 一个词法分析器的简单实现 怎样才算健康的生活方式 MacVim 配置攻略 学习培训课程的视频效果好吗? 语言的控制 可悲的大多数 CSS样式思维导图 2014年终总结 奥巴马成为首位写程序的美国总统 青岛老城区的下水道好在哪里? 做优秀 UI 的七个建议(第二部分) 选择爱情的骑士 Git简明教程 Java集合总览 读 《1984》 java问答:终极父类(六)——等待/唤醒和接口 Java 问答:终极父类(五)——toString() Hyperlapse快速视频背后的技术细节 平庸之恶 Java程序员须知的七个日志管理工具 苏州 逛书摊随想 关于考试作弊 你的工作不仅仅是编程 推荐在线学习Java的英文资源 关注女性命运——《千禧年三部曲》 用好你的幻灯片——《演说之禅》 使用ReentrantLock和Lambda表达式让同步更纯净 新手学编程,从哪里开始? 程序员都是工程师吗? 不要学习代码,要学会思考 Java 问答:终极父类(四)——hashCode() Java 问答:终极父类(三)——finalize()和 getClass() 程序员职业之路的选择 我是一名摄影家 写给何小树的城市指南 为什么一些语言会比别的快? Java的常见误区与细节 跟朋友在一起玩游戏 死神永生——读《三体》 五种类型的程序员 创业圣经——读《黑客与画家》 纪念加西亚·马尔克斯 Junit中处理异常的另一种方式:catch-exception Java8采用Martin Fowler的方法创建内部DSL Linux HotSopt虚拟机GC线程的CPU占用率 J2EE概念介绍 如何成为一名黑客 Java 问答:终极父类(二)——equals()方法 为什么我喜欢Java Java 问答:终极父类(一)——clone()方法 七个改变世界的Java项目 java中默认类型转换的小问题 传统与创新 欢迎来到互联网 莫言和马尔克斯——读《生死疲劳》 位运算的妙用 读《人为什么活着》 写博客教会我的事情 中国特色操作系统 2013年总结 《永不妥协》影评 恨不相逢未嫁时——《廊桥遗梦》影评 如何优雅地使用PPT 给明年依然年轻的我们 天才与柱子 黑客守则和黑客精神 Looking for Freedom——《被解救的姜戈》 简洁之道
2023 年总结
laixintao · 2024-01-05 · via 卡瓦邦噶!

其实也没有什么好总结的。我若是说说自己今年的流水账,那肯定很无聊。要说技术问题的话,就更无聊的,值得说的事情在博客里应该已经说过了。

那就随便写一写吧,主要记录一下想法,将来回头看看自己每一年的想法,应该也挺有趣的。

感觉最近心境上有了一些变化,比如以前写博客,就是想收获一些名气,运营上会花不少功夫:交换友情链接,要挑选好时间发布,写完了发到很多地方做宣传之类的。现在几乎不会这样做了。现在写博客的目的是什么?我自己都已经想不明白了,可能是单纯想记录一下自己的想法,写完之后也会有一些满足感。

以前也想可以营造某种形象,写出自己漫不经心地解决天大难题的故事,对行业案例、术语侃侃而谈。发现自己到底写不出来这样的文章(倒是读过不少)。有些博客我不喜欢读,是因为字里行间作者不是想分享什么,而是想说明自己有多厉害,知道这么多,或是想说明公司多厉害,这种文章通常知识也不多。比如他们会说:当然对于这个问题我们可以用 XX 解决,但是 XX 是什么?他要假设读者已经知道了,要解释的话就显得水平太低了。

以前会焦虑,现在不会了。以前喜欢强迫自己去学会某一些自己不喜欢的东西,研究一些不感兴趣的技术,细想一下原因,应该是想得到别人的认可,比较在乎别人的想法。现在倒不是很在意了,不懂什么就研究什么。有些对工作和仕途没有什么用的技术,今年也花了很多时间在这上面,比如终端应用啥的。

去年写过:

假如喜欢编程这件事情并且想长久地坚持下去的话,比如 30 年,就会发现有些事情是不重要的,有些事情是重要的。

眼光放长远的话,也就无需焦虑了。慢慢积累,坚持 30 年,很难不成为一个厉害的人吧?

生活上

也是平凡的一年,好像没有什么特别值得说的。

旅行倒是去了不少地方:普吉岛,巴厘岛,去爬了一座火山,去了澳大利亚。算是比较精彩的一年。最后假期居然还剩个 8 天。对了,还完成了新加坡环岛骑行,这可太牛逼了。

工作上

今年的工作大部分是去年工作的延续,每一个季度的 OKR 都没有完成(好像在大公司定制的 OKR 从来没有完成过),感觉 OKR 挺扯淡的,定制 OKR 和实际工作严重脱节:临时插进来的工作又不能不做,SRE 的一部分工作时间也不能自己安排,得看项目的紧急程度。

今年大部分工作都是对已有的项目优化,支持一些公司决定做的事情。

这里面值得一提的是监控系统存储 metrics 随着时间越来越长,索引越来越大了。TSDB 存储时序数据很擅长,但是 metrics 横向的数量过多,就有问题了。集群的索引已经到了 20TiB 级别,查询也还好,可以限制查询范围,没想到出问题的居然是写入链路。写入新 metrics 的时候要在存储节点上先查询要写入的 metrics 是否存在,这些写入前的查询在一些情况下会造成很大的索引查询压力,导致集群雪崩:比如一个存储节点坏掉,所有向这个存储节点在写入的来源都要重新路由到其他的节点进行写入,这时候大家一起进行写入前查询,就足以将其他所有的存储节点都查的干不了任何其他事情,loadavg 升到 500多。写入被停止了,写入来源这时候会将写不下去的监控数据暂时存到本地,等知道 metrics 应该往哪里写了,再将存量 metrics 写回去。可惜的是,一旦存储节点哼哧哼哧把查询完成了,又被大量写入弄崩溃了。这个问题之前没有遇到,跑的好好的,(其他集群和其他公司一般的用法应该遇不到),是因为索引不大问题就不大,20TiB 的索引怎么出来的呢?我们存了1年多的时序数据,历史上的 metrics 都在这个索引里面,就膨胀了。而一般的需求,时序顺序存储1个月就够了。

解决思路略微奇葩,写入前的查询会造成压力,我就拆分了两个存储集群,一个 hot 一个 cold。实时数据写入 hot,只保存 7天数据,每天晚上在低峰期将当前数据移动到 cold,查询的时候两个集群一起查。这样就完美了:

  • hot 集群的索引只有 10G,怎么查都不会出问题,快的很;
  • hot 集群的查询能力也很强了,因为大部分时序数据查询的都是当前数据,hot 集群配置高,实例少,缓存命中率高;
  • cold 集群磁盘大,HDD 盘,成本低,性能低,但是应对 QPS 不到 1 完全够了;
  • 每天的迁移只有在迁移开始的时候会大查询 cold 集群,而且限制并发,不是一起查的,查询结束之后顺序写入性能也贼高;

感觉解决的很完美。

新项目倒是也有一个,做了一个Alert 自动诊断系统,可惜利用率不是很高。

历史长河

经常会忘了哪一年是哪一年,哪一年发生了什么。我印象最深的是 2002 年附近,好像小时候的时间过的很慢,2002 年之后是 2003 年,然后是 2004 年,一直到 2008 年,但是好像 2008 年之后时间变快了,还没熟悉过来新的年份就马上进入到了下一年。有一种 2023 年和 2003 年之间只隔了10年的错觉。

不过我之前发现维基百科有页面记录每一年的大事年表,2023年的简中版本见此

2024,新的一年

先看看去年我写的今年计划:

  • 锻炼身体:上半年还可以,下半年就懒回去了;2024年要继续锻炼身体;
  • 打字训练:算是颇有成果,至少正确的指法了,一年都在刻意用正确的指法打字了,可以盲打所有按键包括符号和数字,甚至连右 Shift 键都能用起来了;
  • 学习:没按照计划学,但是也学了不少东西;

去年的时候感觉自己太活跃了,希望能不写新的项目,下半年还是写了一些,主要是用 textual 这个库做了很多终端工具:

  • flameshow: 一个终端展示火焰图的工具,已经完成;
  • vcron:一个终端计算 crontab 的工具,已经完成;
  • mactop:一个 mac 的类似 htop 的工具,基本完成,但是对 M1 的 macbook 兼容性还有一些问题,没有 M1 的电脑,不方便测试。

新的一年的话,我要认真再学习一下编译原理,最好能实现一个简单直观的、可以定义规则的 DSL。

我的梦想

自从小时候有一次全班同学都要写一下自己的梦想,我就开始思考我的梦想应该是什么。有的看起来就不可能完成,甚至没有努力一下的必要,因为实现的几率太小;有的又太微不足道感觉不值得作为一生的梦想。于是提及这个问题的时候,总是草草找一个比较合适作为答案的来交差。

今年看了很多电影,于是想,看电影真是一件令人快乐的电影,这一辈子要是能看很多电影就好了。那一生能够看多少电影呢?如果一年看 100 部,已经算是比较多的了。那么 50 年也才能看 5000 部!如果真能看 5000 部电影,也算是一件了不起的事情吧。

这样一想,一生看 5000 部电影也是一件不简单的事情:要活 50 年,要身体健康,至少眼睛和耳朵要没问题,智力也要没问题,还得经常有足够的空闲时间……

这也不是一件痛苦的事情。我们谈起梦想,仿佛默认要像苦行僧一样努力很久才能实现。但是何必要这样呢?梦想不能就像一部一部看电影一样呢?看完一部看下一部,每一部都有每一部的乐趣。

实现梦想之后呢?可能有些梦想被实现了之后会让人感到空虚。但是看电影也不会,看完 5000 部电影之后,也不会想:梦想终于实现了,我再也不用看电影了吧。而是找时间去看 5001 部电影。

所以“一生看完 5000 部电影”这个事情作为一个梦想还真是不错。说起来也不至于让人家笑话。

不知道为什么说这个,胡思乱想就写了这么多。其实我是有一个梦想的,只是写出来读者会笑话,就不写了。

说到这里了,就继续说说人生的意义吧。

今年看了一本书叫做 Ask a Philosopher, 有一个问题就是问 The meaning of life.

作者说,他也不知道,但是这不重要。

大意是,假设有一天你意外地发现地球是一个外星人的农场,外星人在地球上放养了很多人,人类的意义就是快速繁殖,吃的白白胖胖,将来有一天给外星人吃掉。这就是人生的意义。

但是知道人生的意义会让我们的生活变好吗?会让我们的精神变好吗?我们应该为了人生的意义——努力地吃和繁殖,然后被外星人吃掉——而去努力吗?显然不是。即使我们的命运就是被外星人吃掉,也不意味着我们应该朝这个方向努力。

我们思考人生的意义,大部分都是低潮的时候。无论人生的意义是什么,它应该指导我们更积极地生活。

既然这样的话,我们应该勇敢地追寻自己热爱的东西吧!而不是寻求人生的意义的真相。

其他的年终总结列表:

  1. 2013年
  2. 2014年
  3. 2015年
  4. 2016年
  5. 2017年
  6. 2018年
  7. 2019年
  8. 2020年
  9. 2021年
  10. 2022年
  11. 2023年
  12. 2024年