微服务的战争:选型?分布式链路追踪

“微服务的战争” 是一个关于微服务设计思考的系列题材,主要是针对在微服务化后所出现的一些矛盾/冲突点,不涉及具体某一个知识点深入。如果你有任何问题或建议,欢迎随时交流。 背景 在经历 微服务的战争:级联故障和雪崩 的 P0 级别事件后,你小手一摊便葛优躺了。开始进行自我复盘,想起这次排查经历,由……

阅读全文

微服务的战争:级联故障和雪崩

“微服务的战争” 是一个关于微服务设计思考的系列题材,主要是针对在微服务化后所出现的一些矛盾/冲突点,不涉及具体某一个知识点深入。如果你有任何问题或建议,欢迎随时交流。 在 微服务的战争:统一且标准化 中,经过好几周与不同业务组不同事业部的跨部门讨论后,终于把初始的标准化方案给定下来了,……

阅读全文

微服务的战争:统一且标准化

“微服务的战争” 是一个关于微服务设计思考的系列题材,主要是针对在微服务化后所出现的一些矛盾/冲突点,不涉及具体某一个知识点深入。如果你有任何问题或建议,欢迎随时交流。 开天辟地 在远古开天辟地时,大单体转换成微服务化后,服务的数量越来越多。每起一个新的服务,就得把项目的目录结构,基础……

阅读全文

微服务的战争:按什么维度拆分服务

“微服务的战争” 是一个关于微服务设计思考的系列题材,主要是针对在微服务化后所出现的一些矛盾/冲突点,不涉及具体某一个知识点深入。如果你有任何问题或建议,欢迎随时交流。 微服务,这三个字正在席卷着目前的互联网软件行业,尤其在近几年云原生迸发后,似乎人人都对微服务有了更广泛的使用和理解……

阅读全文

为什么容器内存占用居高不下,频频 OOM(续)

在上周的文章《为什么容器内存占用居高不下,频频 OOM》 中,我根据现状进行了分析和说明,收到了很多读者的建议和疑惑,因此有了这一篇文章,包含更进一步的说明和排查。 疑问 一般系统内存过高的情况下,可以通过 free -m 查看当前系统的内存使用情况: 在发现是系统内存占用高后,就会有读者会提到,为什么……

阅读全文

为什么容器内存占用居高不下,频频 OOM

最近我在回顾思考(写 PPT),整理了现状,发现了这个问题存在多时,经过一番波折,最终确定了元凶和相对可行的解决方案,因此也在这里分享一下排查历程。 时间线: 在上 Kubernetes 的前半年,只是用 Kubernetes,开发没有权限,业务服务极少,忙着写新业务,风平浪静。 在上 Kubernetes 的后半年,业务服务较少,……

阅读全文

Proto 代码到底放哪里?

虽然公司已经从大单体切换为微服务化有一定的年头了,但一些细节方面的处理总会有不同的人有不同的看法,这其中一个讨论点,就是 Proto 这个 IDL 的代码到底放在哪里? 目前来看,一共有如下方案, 我们一起来探讨一下 Proto 的存储方式和对应带来的优缺点。 方案一:存放在代码仓库 直接将项目所依赖到的所有 Proto 文件都存……

阅读全文

使用 Prometheus 对 Go 程序进行指标采集

在前面的章节中,已经知道了如何对应用程序进行 Prometheus metrics 的注册和暴露,那么接下来如何让 Prometheus 对应用程序进行采集呢。 设置采集配置 首先打开先前所安装的 prometheus 软件目录: 1 2 3 4 5 $ ls LICENSE data promtool NOTICE prometheus rules console_libraries prometheus.yml tsdb consoles prometheus.yml.default 打开并修改 prometheus.yml 文件,查看到 scrape_configs 配置选项,进行如下调整: 1 2 3 4 5 6 7 8 ... scrape_configs: - job_name: 'test01' static_configs: - targets: ['127.0.0.1:10001'] scheme: http tls_config: insecure_skip_verify: false 先前……

阅读全文

Prometheus 四大度量指标的了解和应用

在上一个章节中我们完成了 Prometheus 的基本概念了解和安装,由于考虑到看我博客的估计是开发向的小伙伴居多,因此没有再更深入。而今天本章节将介绍我们开发用的最多的度量指标,并结合实战对 Metrics 进行使用和细节分析。 什么是度量指标 来自维基百科 度量是指对于一个物体或是事件的某个性质给予一个数字,使其可以和……

阅读全文

Prometheus 快速入门

一般我们说 Prometheus,有两种理解,我们平时需要注意识别的,其含义有两种,一是指的 Prometheus 自身,是一个时序数据库;另外一种是指 Prometheus 生态圈,指的是是整体的监控报警的生态圈和解决方案(Prometheus+Grafana+Alertmanager)。 Prometheus 在 2016年加入了 CNCF(Cl……

阅读全文