- 博客(456)
- 收藏
- 关注
原创 【go微服务】如何快速掌握grpc开发
在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。
2025-03-28 07:15:00
5804
45
原创 【go微服务】跨语言RPC接口工具--protobuf语法与原理解读以及应用实战
Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。Protobuf刚开源时的定位类似于XML、JSON等数据描述语言,通过附带工具生成代码并实现将结构化数据序列化的功能。
2025-03-27 07:15:00
5765
49
原创 【go微服务】Golang微服务之基--rpc的实现原理以及应用实战
微服务是通过这种架构设计方法拆分出来的一个独立的组件化小应用微服务架构定义的精髓,可以用一句话来描述,那就是 分而治之,合而用之。将复杂的系统进行拆分的方法,就是分而治之。分而治之,可以让复杂的事情变的简单,这很符合我们平时处理问题的方法。
2025-03-25 09:16:54
7280
51
原创 【Golang】go语言上下文context
在Go语言中,context包是一个非常重要的工具,用于在多个goroutine之间传递请求范围的数据、取消信号以及超时控制。context包的设计初衷是为了解决在复杂的并发环境中,如何有效地管理和控制goroutine的生命周期。通过使用context,开发者可以更好地控制goroutine的取消、超时以及传递请求范围的数据。
2025-03-24 07:15:00
7336
48
原创 【Golang】go语言操作redis数据库--go-redis
Go语言的标准库中没有直接支持Redis的包,但社区提供了多个优秀的Redis客户端库。其中最常用的是go-redis和redigo。本文将使用go-redis库进行讲解,因为它具有更现代的API设计和更好的性能。
2025-03-22 08:30:00
7558
41
原创 【Golang】Go操作数据库框架gorm
GORM是Go语言中的一个强大的ORM(对象关系映射)库,它提供了简单易用的API来操作数据库。GORM支持多种数据库,如MySQL、PostgreSQL、SQLite等。通过GORM,开发者可以使用Go语言的结构体来映射数据库表,从而简化数据库操作。
2025-03-21 07:15:00
9960
45
原创 【Prometheus】prometheus标签替换label_replace,动态修改生成标签,增强查询的灵活性和表达能力
label_replace是 PromQL 中的一个函数,用于动态修改或生成标签。它允许用户通过正则表达式从现有标签中提取信息,并将其应用于新的或现有的标签。`label_replace` 在处理复杂的标签操作时非常有用,尤其是在需要动态生成标签或对标签进行格式转换时。
2025-03-20 07:15:00
10736
42
原创 【Golang】go如何通过atomic原子操作来确保数据一致性
在多线程或并发编程中,数据一致性是一个关键问题。当多个协程(Goroutine)同时访问或修改共享数据时,可能会导致数据竞争和不一致的问题。Go语言通过`sync/atomic`包提供了一种高效且轻量级的解决方案,即原子操作。原子操作是指在执行过程中不可分割的操作,不会被其他线程或协程中断。
2025-03-19 07:15:00
11742
39
原创 【Golang】深度解析go语言单元测试与基准测试
单元测试和性能测试是成为优秀程序员的必经之路。在go语言里面,基准测试承担了性能测试的功能。单元测试和基准测试代码开发中的重要环节,良好的单元测试和基准测试,能提升开发质量,对整体开发有非常重要的重要,下面介绍单元测试和基准测试的写法。
2025-03-18 10:17:00
12652
35
原创 【Prometheus】prometheus监控pod资源,ingress,service资源以及如何通过annotations实现自动化监控
所谓Pod资源,指的是,运行在 Pod 中的 "容器" 所使用的计算资源。这些计算资源指的是 CPU、内存、网络以及磁盘 IO等相关指标。之前我们监控容器的资源时,使用的是 cAdvisor 工具来监控。不过在 Kubernetes 中,Cadvisor工具已经被内置到了 kubelet 的组件中。因此,我们可以直接监控节点的kubelet,来收集相关Pod的指标数据。
2025-03-14 14:57:53
16459
65
原创 【Prometheus】prometheus结合kube-state-metrics监控k8s的node,pod,deployment,daemonset,statefulset,cronjob等资源
集群资源状态是指, Kubernetes 集群中所有资源对象、以及这些资源对象的当前状态信息。这些资源对象,包括Pod、Deployment、DaemonSet、StatefulSet、Job、CronJob 等 。而这些资源状态,则提供了这些资源的详细信息。。。
2025-03-12 07:15:00
17311
44
原创 【Prometheus】层层解析prometheus如何监控k8s核心组件
监控 Kubernetes 集群的控制平面,首先需要知道要监控哪些组件,然后了解它们是如何提供 Metrics 指标的,最后确定这些指标的监控方法,是通过手动配置还是自动发现。关键组件包括:APIServer、ControllerManager、Scheduler、etcd、CoreDNS、kubelet、kube-proxyMetrics 指标获取:这些控制平面组件都内建 Metrics 端点。但是某些组件可能默认只在本地接口(127.0.0.1)上暴露 Metrics
2025-03-11 07:15:00
18146
47
原创 【Prometheus】k8s集群内部署的prometheus如何监控kubernetes集群
在前面的章节中,我们已经介绍了 Prometheus 的核心功能,并展示了如何使用二进制部署的Prometheus来监控 Kubernetes 的 APIServer。但在实际的生产环境中,我们通常是将 Prometheus 部署在 Kubernetes 集群内部,来监控整个集群的资源及状态。
2025-03-06 07:15:00
22630
65
原创 【Prometheus】prometheus如何监控k8s集群
Prometheus可以直接通过 Kubernetes 的 API 来自动发现和监控集群中的关键资源。包括节点(Nodes)、服务(Services)、端点(Endpoints)、Pods 和 Ingress。每一种资源都会被Prometheus当作一个监控的目标,并时刻监视着它们的变化。而每种资源类型都对应有一个专门的服务发现组件,在Prometheus 中被称为“role”。
2025-03-03 09:12:01
25345
60
原创 【Prometheus】prometheus服务发现与relabel原理解析与应用实战
relabel它可以在抓取目标实例数据之前,可以对目标实例的标签进行“灵活的改写”。借助Relabel,用户就可以自行定义复杂的“标签选择逻辑”,从而精准的控制哪些实例应当被监控,哪些实例应当被排除。例如,我们可以设置规则,仅抓取带有env=prod标签的目标实例数据,而那些不含此标签的实例则忽略掉 。
2025-02-28 07:15:00
27088
58
原创 【Grafana】Prometheus指标可视化Grafana,手把手教你如何自定义图形
面板(Panel) 是 Grafana 中最基本的可视化单元,每一种类型的面板都提供了相应的查询编辑器(Query Editor),让用户可以从不同的数据源(如Prometheus)中查询出相应的监控数据,并且以可视化的方式展现,所以要在Grafana 上创建可视化的图表,面板是我们所需要掌握的;我们在grafana中,可以自己新建面板,也可以导入面板
2025-02-27 07:15:00
27992
45
原创 【Prometheus】prometheus服务发现的各种方式详细解析与应用实战
prometheus服务发现有很多种方式,最常用的有:1.静态服务配置。2.基于文件的服务发现。3.基于注册中心consul的服务发现。4.基于公有云API的发现机制。5.基于kubernetes的发现机制。
2025-02-26 08:45:04
29045
38
原创 【Alertmanager】Alertmanager告警路由,告警静默,告警抑制,高可用的实现
所谓的告警路由,就是将不同的告警消息转发给不同的接收人,以便故障能快速的被处理和解决。Alertmanager 的告警路由配置,使用的是树状结构来定义,以确保每条告警消息都能够按照定义好的路径进行处理。当一条告警消息进来后,会先进入根路由,然后逐级的去匹配每个子路由的规则,然后将消息通过媒介发送给对应的接收人。
2025-02-25 08:42:02
29772
38
原创 【Alertmanager】alertmanager告警多种通知方式--企业微信告警、钉钉告警、电话和短信告警
本章讲述alertmanager如何实现企业微信告警,钉钉告警,电话短信告警通知,每一步都清晰明了。非常适用于企业生产环境告警通知的实施。
2025-02-21 07:15:00
33483
62
原创 【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面
Alertmanager 是 Prometheus 生态中的一个组件,专门用于处理 Prometheus 发送的告警。由于Prometheus本身无法实现告警,因此需要借助AlertManager来实现告警的推送。Prometheus Server 会对已经设定好的“告警规则”进行定期评估,当检测到问题时,会生成相应的告警通知并发送给 AlertManager。
2025-02-20 07:15:00
34222
40
原创 【Prometheus】prometheus结合pushgateway实现脚本运行状态监控
Pushgateway 是 Prometheus 生态中一个重要工具,使用它的原因主要是:● Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙原因,导致 Prometheus 无法直接拉取各个 target 数据。● 在监控业务数据的时候,需要将不同数据汇总, 由 Prometheus 统一收集。● 当exporter不能满足需要时,也可以通过自定义(python、shell、java)监控我们想要的数据。
2025-02-18 08:41:10
36677
44
原创 【Prometheus】prometheus结合domain_exporter实现域名监控
domain_exporter 主要用来监控网站域名的过期时间。这对于企业和个人都是比较重要的,因为域名过期可能会导致网站无法访问,进而影响业务的正常运行。因此监控“域名的过期时间”就显得比较重要了。
2025-02-17 09:36:36
37224
34
原创 【Golang】Go语言命令行参数解析神器--flag的详细用法与应用实战
flag包是Go语言标准库中的一个包,用于解析命令行参数。它支持多种类型的命令行参数,包括布尔值、整数、浮点数、字符串等。`flag`包还支持自定义参数类型,并且可以自动生成帮助信息。
2025-02-14 14:24:09
40143
26
原创 【Prometheus】prometheus黑盒监控blackbox全面解析与应用实战
Blackbox_exporter 是一个专门用于黑盒监控的工具,它支持多种网络协议对目标对象进行检测,比如 HTTP、HTTPS、TCP、DNS 和 ICMP。这意味着我们可以用它来监控网站响应状态和响应时间、以及通过端口来判断服务是否正常运行。此外用户还可以通过设置不同的检查模块来定制 blackbox_exporter,以便它能够适应不同的检测需求。
2025-02-14 08:53:32
40720
39
原创 【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知
Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。
2025-02-13 09:25:58
41264
47
原创 【Prometheus】如何通过prometheus监控redis实时运行状态,并实现告警通知
在现代微服务架构中,Redis被广泛应用于缓存、消息队列及其他场景。为了确保Redis集群的高可用性和性能,我们需要实时监控其状态与指标。本文将全面讲解如何通过prometheus监控redis运行的各项指标,让数据实时可知。
2025-02-12 08:46:56
42310
41
原创 【Prometheus】MySQL主从搭建,以及如何通过prometheus监控MySQL运行状态
要使用Prometheus 监控 MySQL,则需要 MySQL 服务器上部署对应的mysqld_exporter。如果需要监控多个MySQL实例,则需要在每个MySQL实例上都部署一个mysqld_exporter,因为每个 mysqld_exporter 只能连接并抓取一个MySQL 的指标数据。
2025-02-11 07:15:00
43808
49
原创 【Prometheus】如何通过prometheus监控springboot程序运行状态,并实时告警通知
jmx_exporter 主要用于从 Java 应用程序中提取 JMX 指标,通常包括 JVM级别的信息,如内存使用情况、线程状态、垃圾回收次数等。对于传统的SpringBoot应用,由于它默认没有内置 Prometheus 监控的指标,因此使用 jmx_exporter来抓取基础的JVM相关指标。
2025-02-08 07:15:00
46366
56
原创 【Prometheus】如何通过prometheus监控Tomcat运行状态
Tomcat本身无法对外提供Prometheus所兼容的Metrics,因此需要借助第三方exporter来提供:tomcat-exporter
2025-02-07 09:03:48
46299
35
原创 【Prometheus】如何通过golang生成prometheus格式数据
要在Golang中生成Prometheus数据,你可以使用Prometheus的官方客户端库 `prometheus/client_golang`。这个库允许你定义和暴露自定义的指标,并通过HTTP端点将这些指标暴露给Prometheus服务器。
2025-02-06 08:55:37
47655
46
原创 【Prometheus】RabbitMQ安装部署,如何通过prometheus监控RabbitMQ
RabbitMQ是一个开源的消息代理和队列服务器,它使用Erlang语言编写并运行在多种操作系统上,如Linux、Windows等。RabbitMQ可以接收、存储和转发消息(也称为“事件”)到连接的客户端。它适用于多种场景,包括异步通信、流量削峰、应用解耦等。本文详述RabbitMQ的安装部署和通过prometheus监控RabbitMQ的方法
2025-01-24 09:02:42
53739
61
原创 【Prometheus】Prometheus如何监控Haproxy
从 HAProxy 2.0 版本开始,HAProxy 内置了对 Prometheus 的支持。这意味着 HAProxy 能够直接提供兼容Prometheus的指标格式,无需依赖任何额外的 exporter 。(安装Haproxy、然后修改stats,配置对外输出metrics接口)
2025-01-23 10:56:02
52864
46
原创 【Prometheus】PromQL进阶用法
在监控CPU、内存、磁盘和⽹络等系统资源时,使⽤USE的⽅法论是最为合适的,它要求我们针对每个资源(也就是CPU、内存 、⽹络等)分别检查三个关键方面:使用率、饱和度和错误。使用率:表示资源在占作时占用的平均时间,例如,CPU在过去的60秒内有30秒被用来执行指令,那么我们可以说这个CPU的使用率是50%。饱和度:指明资源已经到达或接近其处理能力极限的程度,表明无法再处理更多的工作量。这通常通过队列长度等指标来衡量。错误:记录了资源在运行过程中发生的错误事件的次数。网络监控用的比较多
2025-01-21 17:22:21
54277
49
原创 【vue-codemirror】Vue中强大的编辑器插件--vue-codemirror
CodeMirror是一个功能强大的Web代码编辑器,广泛应用于各种Web应用中。在Vue3项目中集成CodeMirror,可以显著提升代码编辑和展示的用户体验。本文将结合实际案例,详细介绍在Vue3中使用CodeMirror插件的方法。
2024-12-18 10:53:43
48564
97
原创 【Axios】如何在Vue中使用Axios请求拦截器
在Vue项目中,Axios是一个非常流行的HTTP客户端,用于发送请求和接收响应。Axios拦截器是Axios的一个强大功能,它允许你在请求发送之前和响应返回之后对请求和响应进行处理和拦截。通过拦截器,你可以添加请求头、处理请求参数、处理错误等。
2024-12-05 07:15:00
59404
99
原创 【Vue axios】vue中如何通过axios异步请求后端接口
在现代Web开发中,前端与后端的数据交互至关重要。Vue.js作为一款流行的前端框架,结合Axios库能够高效地实现HTTP请求与数据处理。本文将详细讲解如何在Vue 3中使用Axios,并通过实际案例展示其用法。
2024-12-04 07:15:00
60596
60
原创 【vue-router】关于Vue-Router路由守卫
路由守卫是Vue-Router提供的一种机制,用于在路由跳转前或跳转后执行一些操作。它类似于Vue组件中的生命周期钩子函数,但它是针对路由的。通过路由守卫,我们可以在用户访问特定路由前或离开特定路由后执行一些逻辑,从而控制用户访问权限、加载数据或取消导航等操作。
2024-12-03 07:15:00
57172
63
原创 【vue-router】Vue-router如何实现路由懒加载
在现代前端开发中,Vue.js凭借其轻量级和易用性,成为了很多开发者的首选框架。然而,在构建大型单页应用(SPA)时,初始加载时间可能会变得非常长,影响用户体验。为了解决这个问题,Vue.js引入了路由懒加载机制。本文将结合实际案例,详细讲解Vue-Router路由懒加载的用法。
2024-11-29 09:12:36
60505
60
原创 【vue-router】vue-router如何实现动态路由
在构建基于Vue.js的单页面应用(SPA)时,Vue Router是一个不可或缺的工具。它提供了声明式的路由功能,使开发者能够轻松地管理和控制应用内的导航逻辑。动态路由是Vue Router中的一项重要特性,它允许我们根据运行时的数据来动态地匹配路由。这对于需要根据用户输入或后端响应来调整应用行为的场景尤其有用。本文将详细介绍动态路由的概念、作用及其在Vue Router中的具体实现,并通过一系列实际案例来展示如何有效地使用这项功能。
2024-11-28 07:15:00
61364
59
原创 【Vue3+Pinia】Vue新一代状态管理器Pinia
Pinia最初是作为Vuex的替代方案而设计的,旨在提供一种更简洁、更易于理解和维护的状态管理方式。Pinia的设计灵感来源于Vue的组合式API(Composition API),它允许开发者以更灵活的方式组织代码。
2024-11-26 08:56:09
62642
65
天气检测程序,暴露端口,给prometheus提供数据
2024-09-06
linux用户管理命令大全
2024-08-15
非常详细的git使用功能教程
2024-08-14
linux中安装python3教程
2024-01-30
基于Python编写的类ATM机系统,功能比较全面,适合编程思维训练
2024-01-30
基于Python编写的FTP文件传输程序,包含客户端和服务端,可以跨平台文件传输
2024-01-30
selenium规避检测,绕过检测
2023-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人