在日常的开发工作中相信使用 Kubernetes 的同学们一定会偶尔收到容器重启的事件告警。由于应用层面的问题导致的容器重启相对容易排查,比如看容器的内存监控我们
在之前的文章介绍过服务可观测性。其中 tracing 扩展一下我们可以称之为 APM(Application Performance Monitoring)。在这篇文章里,我会具体介绍我们在 Golang 服务中的 APM 实践。 A
在 Golang 项目中为了写出健壮和优雅的代码我们会采用 linter 帮助我们检查有问题或者不规范的代码。Golang 的 linter 非常多,各自检查的范围或者内容不尽相同,如
在开发过程中我们遇到了需要 session 保持的场景,即同一个用户的请求需要我们路由到后端服务的同一个实例。如果是 http 请求我们可用利用 nginx 的 ip hash 负载均衡策略来
对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享总结到文章里,以供参考。 Docker 的优势 Build once,
在我们当前业务场景下使用消息中间件是必不可少的,其中 kafka 和 pulsar 是我们消息中间件的首选项。在之前的一篇文章 中我们提到过这两种消息队列,而在我们了解