爱上开源之boot4go-prometheus

昨天写了有关自己开源的一个go-gateway的文章, 在文章中提到了使用fasthttp完全替代了原生的net/http,在gateway的项目中,提供通过grafana+prometheus来进行gateway整体调度的动态状态监控,在GPE的监控体系中,exporter是个必不可少的组件, 以前的springcloud的gateway中,是使用的springcloud集成的prometheus-client, 现在功能迁移到golang里,当然也要有golang的prometheus, prometheus官方提供了golang的支持,可惜是在net/http下的,可以看看prometheus的代码包,里面的prometheushttp包里,提供了net/http的支持,但是我们使用的fasthttp作为gateway的底层通信,当然完全可以单独在开一个无关的端口,通过net/http来提供prometheus的功能, 不过想着浪费资源了,在docker和k8s里,还要expose一个无关的端口,就没有这样做。

Golang 入门系列(六)理解Go协程Goroutine,这篇就够了!

“time”这两个功能特性,是go语言中重要的特性。 推荐阅读:Golang 入门系列打好基本功: Golang 语法基础!

golang初级进阶(一):顺序排序、冒泡算法、sort排序

目录一、排序算法1. 顺序排序2. 冒泡排序二、sort排序1. sort升序2. sort降序一、排序算法1.

5个系统管理员常用的警报和可视化工具

这些开源工具帮助用户了解系统行为和输出,并为潜在问题提供警报。可观察性来自控制理论,描述了我们根据其输入和输出理解系统的能力。

Golang利用redis实现分布式锁

若给定的key已经存在,则SETNX不做任何动作。设置成功,返回1。成功后再设置一个过期时间以上就是利用redis实现分布式锁的原理代码packagemainimporttypeLockstruct{resourcestringtokenstringconnredis。

golang的sync包系列讲解(1):sync.Map

如果 dirty 和 read 中都没数据,dirty 和 read 的键值不同步,则将数据直接写入 dirty, 如果 dirty 键值数据和 read 一样,同时 dirty 为 nil ,将 read 浅拷贝 一份到 dirty,为后面赋值可以同时写入 dirty 和 read。

应用容器化优化指南-Golang篇

前言随着容器技术的兴起,越来越多不同类型的应用开始使用容器的方式进行交付。使用Golang编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

聊聊gorm的Unscoped

序本文主要研究一下gorm的UnscopedUnscopedgorm.io/gorm@v1.20.11/chainable_api.gofunc (db *DB) Unscoped() (tx *DB) {    tx = db.getInstance()    tx.

摆脱 AI 生产“小作坊”:如何基于 Kubernetes 构建云原生 AI 平台

从 1956 年达特茅斯学术研讨会上被首次定义,到 2006 年 Geoffery Hinton 提出了“深度信念网络”,AI 已历经 3 次发展浪潮。

编程新趋势?“再见,Python!你好,Go语言”

作者:华为云技术宅基地链接:https://zhuanlan.zhihu.com/p/57895717谷歌前员工JakeWilson认为,比起大家熟悉的Python。