Go 程序如何实现优雅退出?来看看 K8s 是怎么做的——下篇

2024-08-29
阅读 25 分钟
809
现在,我们已经掌握了 Go 中 HTTP Server 程序如何实现优雅退出,是时候看一看 K8s 中提供的一种更为优雅的优雅退出退出方案了😄。
封面图

Go 程序如何实现优雅退出?来看看 K8s 是怎么做的——上篇

2024-08-27
阅读 37 分钟
1.7k
在写 Go 程序时,优雅退出是一个老生常谈的问题,也是我们在微服务开发过程中的标配,本文就来介绍下工作中常见的几种优雅退出场景,以及带大家一起来看一下 K8s 中的优雅退出是怎么实现的。
封面图

K8s 如何设置容器 /dev/shm 控制共享内存大小

2024-08-13
阅读 6 分钟
1.5k
多卡启用 vLLM 框架推理由于 Pod 创建时分配的共享内存大小太小导致 NCCL 没法利用 shm 创建卡间通信,这个问题看下谁那边解决下?
封面图

适配器模式在 Go 语言中的应用

2024-08-06
阅读 8 分钟
617
适配器模式(Adapter Pattern)是 23 种经典设计模式中的一种,属于行为型模式,它允许不兼容的接口协同工作。该模式通过创建一个适配器类,封装不兼容的接口,并对外提供一个兼容的接口。

在 Go 中如何使用反射实现简易版 encoding/json

2024-07-31
阅读 13 分钟
648
在使用 Go 语言开发过程中,我们经常需要实现结构体到 JSON 字符串的序列化(Marshalling)或 JSON 字符串到结构体的反序列化(Unmarshalling)操作。Go 为我们提供了 encoding/json 库可以很方便的实现这一需求。
封面图

中文文案排版指北

2024-07-23
阅读 9 分钟
620
「有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。与大家共勉之。」——vinta/paranoid-auto-spacing
封面图

在 Go 中如何使用 go:embed 指令嵌入静态文件

2024-07-16
阅读 18 分钟
5.1k
有时候,将配置文件、模板甚至整个前端应用直接嵌入到 Go 二进制文件中,是一种提高应用部署效率和简化操作的有效方法。自从 Go 1.16 版本起,Go 语言官方引入了 //go:embed 指令,这使得嵌入静态资源变得异常简单而直接。本文将详细介绍如何在你的 Go 应用中使用这一强大的特性。
封面图

Go 语言中的结构体内存对齐你了解吗?

2024-07-09
阅读 26 分钟
856
这是一篇填坑文章,我在《Go 中空结构体惯用法,我帮你总结全了!》一文中提到了 Go 中空结构体对内存对齐的影响,并承诺近期会写一篇关于 Go 结构体内存对齐的文章。本文就来详述一下在 Go 中什么是结构体内存对齐,以及内存对齐规则是什么。
封面图

在 Go 中如何检查结构体是否为空

2024-06-28
阅读 2 分钟
1.4k
本文概述了几种在 Go 中判断结构体是否为空的方法,适用于具有可比较字段和不可比较字段的结构体。Go 中的空结构体是指所有字段均设置为对应字段零值的结构体。
封面图

万字解析 Go 官方结构化日志包 slog

2024-06-26
阅读 34 分钟
4.5k
slog 日志包是 Go 语言中的一个结构化日志库,旨在提供一个简单而强大的日志系统。因为标准日志库 log 过于简陋,社区中经常有人吐槽,Go 官方也承认了这一点,于是 Go 团队成员 Jonathan Amsterdam 操刀设计了新的日志库 slog,其放在 log/slog 目录中。
封面图

在 Go 中如何让结构体不可比较?

2024-06-18
阅读 4 分钟
979
最近我在使用 Go 官方出品的结构化日志包 slog 时,看到 slog.Value 源码中有一个比较好玩的小 Tips,可以限制两个结构体之间的相等性比较,本文就来跟大家分享下。
封面图