go代码中为了实现优雅关机,一般会通过监听系统信号的方式
但简单的信号监听使用不当也会出问题,使得优雅关机失败
go使用for select时CPU占用高的问题的简单解决
某个服务时不时报警cpu飙升,通过pprof工具查看是sync.(*Mutex).Unlock/sync.(*Mutex).Lock
占用cpu
那就很明显是锁竞争导致的问题了
释放win10子系统WSL2的磁盘空间
C盘空间100G,如今只剩不到15G,通过WinDirStat
软件查看,有个ext4.vhdx
占用了近20G空间
go实现一个红包分配算法与标准包中的随机数
翻代码翻出三四年前写的一个红包分配算法,拿出来批评一番
etcd实现分布式锁的基础原理
最近在优化架构,其中有一部分系统依赖 etcd,业务上体现为任务调度和分布式锁
先不说用etcd做任务调度是否能力匹配(用出来一地坑)
之前未关注过etcd本身分布式锁的实现,还是很有意思的,借此机会简单整理下
从 win10 资源管理器左侧移除坚果云/OneDrive
其实一直在用坚果云,但仅仅是自动同步一些文件和文件夹,并不需要在我的资源管理器里有那么强的存在感
同时现在用 库 功能比较多,汇总各类相同属性/用途的文件或文件夹不要太方便。所以它在那儿占着位置看着碍眼了
但网上一堆方法都无效,只能自己上,搞定之后记录下
WSL2使用oh-my-zsh在git仓库中响应缓慢的问题
WSL2使用起来很方便,但有个问题一直都在
那就是在git仓库中,命令行会卡住,执行git相关命令也会等待很久
最近有同事来问解决方案,记录分享下
使用kafka-go导致的消费延时问题
重新部署了一个项目,其中通过 kafka 来实现异步通知的服务环节变得十分慢,甚至达到 10s,虽说是异步通知,但又对时延要求很低,所以完全是无法使用的一个状态
问题在于线上完全相同的代码,却没有这么高的延时
go创建文件/文件夹时的权限问题
go 创建文件夹或者文件的时候,有点”反常识“,所见非所得
go中跳出多层循环continue、break、goto示例
维护代码时发现发现前人艺高人胆大,GOTO满天飞,着实费了力气才勉强理清了逻辑
由于未曾在生产中使用过GOTO及break、continue来实现多层跳出,所以写个demo记录学习下