oh-my-zsh使用 Dec 8, 2022 安装zsh和ohMyZsh yum install -y zsh sh -c "$(curl -fsSL --insecure https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 配置相关插件 我这边常用的插件是git、 zsh-autosuggestions、 zsh-syntax-highlighting ## 设置默认shell为zsh sudo usermod -s /bin/zsh $USER git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions sed -i -e "s/^plugin.*/plugins=(git zsh-autosuggestions zsh-syntax-highlighting)/g" ~/.zshrc ## 在命令提示符前增加hostname echo 'export PS1="%m "${PS1}' >> ~/.zshrc
从异地多活到set化架构 Nov 28, 2022

这也是老图了

...
Homebrew安装指定版本 Nov 28, 2022

需要安装指定版本的thrift,记录下homebrew安装指定版本软件的方法。

...
威联通NAS折腾 Sep 17, 2022

入手了一台威联通TS-564,当作给自己的奖励。

...
什么是trace,分布式调用监控的本质是什么? Aug 12, 2022 ...
Clickhouse学习 Jun 30, 2022

ClickHouse是一个列式数据库管理系统,可用于联机分析(OLAP)。ClickHouse最常用的表引擎是MergeTree,下面主要围绕该种表引擎展开。

...
Clickhouse存储Trace调研 Jun 28, 2022

clickhouse是开源的纯列式数据库,定位是OLAP数据库。因为他的一些特性,也广泛用于监控领域,一方面代替时序数据库,存储多维度指标,另一方面也用于存储trace数据。这个博客的目的就是调研下业界如何使用clickhouse存储trace的,围绕表结构和查询sql语句展开,主要调研uptrace的实现。

...
Opentelemetry Java自动埋点实现 Jun 22, 2022

Opentelemetry是怎么做链路追踪的介绍了opentelemetry的API和SDK实现,也介绍了如何进行手动买点。这篇博客是介绍如何进行自动埋点,这当然要用到javaagent技术了。Java Agent实现指南有写过javaagent的实现指南和类加载的坑,今天看看opentelemetry是如何做的,其github地址是opentelemetry-java-instrumentation,接下来应该就是跟着代码流水账了。

...
Go GC初探 Jun 16, 2022 Go目前的GC方案是三色标记法+混合写屏障。 Golang的垃圾回收(GC)算法使用的是无无分代(对象没有代际之分)、不整理(回收过程中不对对象进行移动与整理)、并发(与用户代码并发执行)的三色标记清扫算法。原因在于: 对象整理的优势是解决内存碎片问题以及“允许”使用顺序内存分配器。但 Go 运行时的分配算法基于tcmalloc ...
Caddy源码阅读 Jun 14, 2022 之前我们用了caddy的forwardproxy插件,来看看他是怎么做的 go内置的http服务器实现 http.ListenAndServe(":8080", nil) 如上即可启动go内置的http服务器,第二个参数是nil,于是go会使用内置的handler,代码如下 func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request) { handler := sh.srv.Handler if handler == nil { // 如果为nil,则使用内置的ServeMux handler = DefaultServeMux } if req.RequestURI == "*" && req.Method == "OPTIONS" { handler = globalOptionsHandler{} } handler.ServeHTTP(rw, req) ...