刷新
VictoriaMetrics 部署历史群集的另外两种方式

博主头像 作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我曾在一年多前设计了一种 VictoriaMetrics 监控系统的历史群集的部署方法,并把部署方式进行了开源:https://github.com/ahfu ...

vmagent 源码阅读

博主头像 作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 读了大约半天的 vmagent 的代码,为了确定一些特定的用法的实现逻辑。 增加了很多中文注释,并且把代码提交到了:https://github.com/ah ...

深度揭秘 sync.Pool:Go 高性能对象池的设计哲学与源码实现

引言:从Gin的Context池化,揭开sync.Pool的神秘面纱 在编写高性能的Go Web服务时,我们总是追求极致的效率。但在高并发场景下,频繁的对象创建和销毁是隐藏在背后的性能杀手。 在《Gin 框架核心架构解析》中,我们提到Gin会为每个HTTP请求分配一个Context对象。当你的服务每 ...

下划线字段在golang结构体中的应用

博主头像 最近公司里的新人问了我一个问题:这段代码是啥意思。这个问题很普通也很常见,我还是个新人的时候也经常问,当然,现在我不是新人了但我也经常发出类似的提问。 代码是长这样的: type BussinessObject struct { _ [0]func() ID uint64 FieldA string ...

Golang笔记之Redis

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang笔记之Redis 这一篇笔记主要介绍 Golang 连接和使用 Redis,以下是本篇笔记目录: 目录1、安装模块2、连接 Redis3、字符串1. 字符串写入2. 字符串读取4、哈希1. 写入1) 单字段写入2) 多字段写入2. 读取1) ...

atomic不是免费午餐

博主头像 很多初级甚至中级开发会滥用atomic,因为在他们的世界观里atomic比mutex轻量,性能总是优于锁的。 这话不能算错,但有个很重要的前提,那就是原子操作竞争不激烈的时候。 “竞争激烈”是指什么呢,指的是有很多线程在同一个资源上大量执行原子操作的情况。 落在这种情况下原子操作反而会成为性能拖油瓶 ...

Golang基础笔记十六之反射

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十六之反射 反射可以用于程序在运行时检查、修改自身类型和值,主要通过 reflect 包实现。 首先,我们提出一个需求,要打印出一个结构体 struct 的各个字段及其对应的标签数据,按照当前的笔记内容是无法解决该问题的,但是我们可以 ...

Golang基础笔记十五之sync

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十五之sync 这一篇笔记介绍 Golang 中的 sync 模块。 sync 包主要提供了基础的同步原语,比如互斥锁,读写锁,等待组等,用于解决并发编程中的线程安全问题,以下是本篇笔记目录: WaitGroup-等待组 sync.M ...

Golang基础笔记十四之文件操作

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十四之文件操作 这一篇笔记介绍 Golang 里文件的相关操作,主要用的库是 io。 以下是本篇笔记目录: 文件读取 文件写入 文件追加 os.OpenFile() 文件属性 1、文件读取 1. 文件的打开与关闭 1) os.Open ...

LaPluma : 一个轻盈的 Go 数据流处理库

最近在学习Go, 打算写点小项目来练手,实现的过程中发现需要在slice上执行Filter操作,但是标准库没有提供,像go-stream这些库提供的又是比较高级的抽象,所以就有了Lapluma这个库 仓库地址:lapluma 核心设计理念 Lapluma旨在提供一套简洁、可组合且易于理解的数据处理工 ...

Golang基础笔记十三之context

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十三之context 在 Golang 里,context 包提供了很多比如传递截止时间、取消信号、传递数据等操作的标准方式,用于在跨 API 边界、进程和 goroutine之间进行。 这一篇笔记详细介绍一下 context 包相关 ...

Golang基础笔记十二之defer、panic、error

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十二之defer、panic、error 本篇笔记介绍一下 Golang 里 defer、panic 和 error 的相关概念和操作,以下是本篇笔记目录: defer panic error 1、defer defer 语句用于延迟 ...

Golang基础笔记十之goroutine和channel

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记十之goroutine和channel 这一篇介绍 Golang 里的 goroutine 和 channel 通道。 以下是本篇笔记目录: goroutine channel goroutine 与 channel 的使用 1、go ...

Golang基础笔记九之方法与接口

博主头像 本文首发于公众号:Hunter后端 原文链接:Golang基础笔记九之方法与接口 本篇笔记介绍 Golang 里方法和接口,以下是本篇笔记目录: 方法 接口 用结构体实现类的功能 1、方法 首先介绍一下方法。 方法是与特定类型关联的函数,我们在实现一个函数前,绑定一个类型,就实现了这个类型的方法。 ...

开源 Wiki!一站式解决企业知识分享与团队协同难题!

博主头像 大家好,我是 Java陈序员。 在企业运营中,知识分享与团队协同面临着诸多难题,缺乏统一平台、知识更新不及时等。 今天,给大家介绍一款开源的 Wiki, 可快速构建企业和团队知识分享平台! 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 ...

<123···6>