聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

  • 274 views阅读

    浅谈配置文件

    很少有人关注配置文件,但它绝对是一个值得讨论的问题。 一个常见问题是:如何处理不同环境下不同的配置?传统的解决方案是为每个环境都单独设置一个配置文件,比如 rails 项目里一般会有 development、production、test 等几个配置文件...

    分类:技术文章 时间:2020-12-28 12:10 我要评论(0个)

  • 677 views阅读

    实战etcd的服务发现

    在云原生的时代,服务发现已经是必不可少的功能,我借着最近迁移 gRPC 服务的机会尝试了一下如何用 etcd 实现服务发现,期间遇到诸多问题,本文逐一记之。 虽然 gRPC 并没有内置 etcd 的服务发现功能,但是它提供了相关接口让我们扩展: // B...

    分类:技术文章 时间:2020-11-17 23:07 我要评论(0个)

  • 764 views阅读

    实战Prometheus

    最近手头的项目开始从 PHP,Lua 迁移到 Golang,心想正好趁此机会夯实监控,提到 Golang 的监控,不得不说 prometheus 已经是标配,在 Golang 里集成起来非常简单: package main import ( ...

    分类:技术文章 时间:2020-10-26 18:14 我要评论(0个)

  • 948 views阅读

    遭遇lj_str_new

    话说前几天我刚通过 mlcache 优化了热数据的问题,屁股还没坐热乎呢,就发现系统性能又下降了,本着自己挖的坑含泪也要填上的原则,我再一次开始了性能调优之旅。 对某个 nginx 进程执行 perf top 毫无疑问,从 perf top 结果来看,lj...

    分类:技术文章 时间:2020-09-15 22:16 我要评论(0个)

  • 1331 views阅读

    记一次性能调优

    面对性能调优问题,很多人往往只是单纯的套用既往的经验:先试试一个,不行再试试另一个。面对简单的问题,如此通常能事半功倍;但是当面对复杂问题的时候,单凭经验往往并不能达到立竿见影的效果,此时我们需要更精准的判断性能短板在哪里。 一个 openresty 项...

    分类:技术文章 时间:2020-09-12 18:01 我要评论(0个)

  • 1520 views阅读

    我的Golang热重载工具Air不好使了

    我使用 VSCode Remote-Containters 作为 golang 开发环境,因为生产环境使用的镜像主要是 alpine,所以开发环境自然而然使用了 golang:alpine,对应 Dockerfile 的内容如下: FROM golang:...

    分类:技术文章 时间:2020-08-23 21:19 我要评论(0个)

  • 1342 views阅读

    手把手教你用ETCD

    一句话概括的话:ETCD 是一个基于 RAFT 的分布式 KV 存储系统。一个 ETCD 集群通常是由 3、5、7 之类奇数个节点组成的,为什么不选择偶数个节点?在集群系统中为了选出 LEADER 节点,至少要有半数以上的节点达成共识,举例说明: 当集群...

    分类:技术文章 时间:2020-08-19 19:26 我要评论(0个)

  • 1046 views阅读

    记录Viper加载远程配置填坑过程

    关于 viper,无须多言,它是 Golang 社区里最流行的配置文件工具,除了常见功能之外,它还支持很多高级功能,比如可以加载远程配置,正好我最近在研究 etcd,于是我打算把二者结合起来,没想到就此开启了填坑之旅。 按照文档上的介绍,只需启动一个 g...

    分类:技术文章 时间:2020-08-10 19:03 我要评论(0个)

  • 1273 views阅读

    Golang代码修改后自动重启

    写 Golang 项目有两件很烦的事情:一件是错误处理时连绵不绝的「if err != nil」,另一件是作为编译型语言,代码修改后不能实时看到效果, 借助一些工具可以实现文件修改后自动编译重启,比如: Linux 环境:inotify-tools(G...

    分类:技术文章 时间:2020-07-31 19:56 我要评论(0个)

  • 1613 views阅读

    白话布隆过滤器

    日常开发中,一个常见需求是判断一个元素是否在一个集合中。比如当你在浏览器中输入一个网址的时候,浏览器会判断网址是否在黑名单里。通常的解决方案是直接查询数据库,看看是否存在相关的记录,不过这往往会比较慢,于是我们又会引入缓存来提升速度,可是当数据比较多的时候...

    分类:技术文章 时间:2020-06-22 14:17 我要评论(0个)

  • 1594 views阅读

    记一次有惊无险的丢包调试经历

    某个项目把服务器从 CentOS 操作系统从 5 升级到了 7(3.10.0-693),一切都很顺利,直到我在服务器上闲逛的时候,无意间发现了一个「大问题」:网卡 eth0 在 RX 上存在丢包(dropped)现象,丢得还很有规律,每一两秒丢一个包! w...

    分类:技术文章 时间:2020-05-04 01:37 我要评论(0个)

  • 1496 views阅读

    记一次Redis连接池问题引发的RST

    某个项目,因为监控尚不完善,所以我时常会人肉查查状态,终于有一天发现了异常: watch -d -n1 ‘netstat -s | grep reset’ 如图所示,服务器发送了大量的 reset,在我 watch 的时候还在发,多...

    分类:技术文章 时间:2020-05-04 01:37 我要评论(0个)