熊喵君的博客

Thinking will not overcome fear but action will.

gRPC 应用之 Prometheus 监控接入

使用 gRPC 拦截器对接 Prometheus 监控介绍

0x00 前言    本文的出发点是希望在 gRPC 的框架中,加入核心数据监控的能力(Monitoring),目前预研的库有两个: prometheus open-falcon 这篇文章,介绍下如何将 gRPC 和 Prometheus 结合。Prometheus 的架构中常用的是 Pull 模式,当然 Push 也可以。这其实就是服务端(服务注册)和客户端(主动上报数...

Kratos 源码分析:CPU 指标采集

了解 gopsutil 常用方法应用及 Linux 系统服务常用采集指标

0x00 前言 通常,在负载均衡算法判断中,对服务端的负载衡量,常用的指标有 CPU、内存、io 负载等,客户端的主要指标有调用延迟,处于等待 Response 的请求数、调用成功率等,其中 CPU 使用率是一个及其重要的指标。 在 Linux 下,通过使用 gopsutil 库,可以非常方便的采集系统指标。 0x01 基础使用 获取 cpu 基础信息 使用 Info 方法,依次输...

gRPC 知识点备忘录(持续更新)

0x00 前言 本篇文章主要记录在使用 gRPC 中的一些收获及容易混淆的知识点。 0x01 原理篇 0x02 应用篇 关于 context 的问题 RPC 方法的第一个参数 ctx context.Context 中,到底存储了什么?以下面的 SayHello 为例: // SayHello implements helloworld.GreeterS...

理解 Prometheus 的基本数据类型及应用(实践篇)

Prometheus 及 PromQL 的一些实践

0x00 前言 本文是对前一篇文章 理解 Prometheus 的基本数据类型及应用(基础篇) 的实践以及深入理解,推荐如下几篇文章: PromQL 简明教程 Prometheus 中文文档 prometheus-book 0x01 再看四类指标 指标名称和标签集的每个唯一组合定义了一条时间序列,而每个时间戳和浮点数定义了一个系列中的样本(即一个数据点),Prometh...

Kratos 源码分析:理解 Kratos 的数据统计类型 Metrics(一)

分析 Kratos 框架中的 Metrics:滑动窗口

0x00 前言 这篇文章,分析下 Kratos 项目中的核心统计结构 Metrics 及滑动窗口 Window 的实现。 Metrics 和 Window 的用途如下: Metrics:在数据库操作指标量化(如延迟,错误,调用次数等)、接口指标量化使用较为广泛 Window:在限流器、熔断器、负载均衡算法判定等需要计算比率的地方使用较多,主要解决单个指标计算的平滑性,Wind...

理解 Prometheus 的基本数据类型及应用(基础篇)

Prometheus 介绍及基础应用

0x00 前言 本文分析下 Prometheus 以及常用的 Metrics,Metrics 是一种采样数据的总称,是一种对于度量计算单位的抽象。Prometheus 是一个数据监控的解决方案,能随时掌握系统运行的状态,快速定位问题和排除故障。并提供了从指标暴露,到指标抓取、存储和可视化,以及最后的监控告警等一系列组件。 prometheus 的整体架构如下: Prometheus 的...

微服务中的缓存(二):微服务基础之多级服务缓存(Cache)

微服务应用中缓存的使用策略、问题及解决

0x00 前言   在微服务架构中,后台组件开启热数据缓存,可以有效的降低 Mysql 等后端存储的读负载。在笔者项目后台服务构建中,一般会有本地缓存(Local-cache)—> Redis(高可用缓存服务)—>Mysql(高可用存储集群),这种层级的缓存逻辑。 0x01 缓存更新模式 不管如何更新缓存,这里有一个前提是:缓存必须有过期时间(TTL),就像在 Redi...

Kubernetes Certificate 使用 && 总结

How to manipulate kubernetes's certificates?

0x00 TLS 认证 在前文 证书(Certificate)的那些事 中介绍了 X509 体系、证书认证等相关知识,采用 TLS/SSL 体系一般两种方式: 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。这种情况一般适用于对 Internet 开放的服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客...

OpenSSH Certificate 证书最佳实践

How Do We USE OpenSSH Certificate Properly?

0x00 前言 针对零信任安全领域的 SSH 服务器安全管控,OpenSSH 的证书体系绝对是最佳的安全选择。上一篇文章 证书(Certificate)的那些事 简单介绍了 OpenSSH 的证书体系。本文针对 OpenSSH Certificate 的应用做一个系统的梳理。大概涉及到如下几个方面,本文中 Certificate 代指 OpenSSH 证书: Certificat...

Golang 并发模型:Pipelines and cancellation

Channel 的经典应用(基础)

0x00 前言 Go Concurrency Patterns: Pipelines and cancellation 一文介绍了 Golang 的最经典的并发及控制模型:Pipeline(流水线模型),基于 Channel 的生产者消费者模型。本文即整理及总结。 文中给出了几个典型 goroutine 的并发及控制场景: Squaring numbers:计算平方数 Fa...