The Encyclopedia of Kubernetes clusters https://github.com/clusterpedia-io/clusterpedia
本文的目的是介绍最新的 Linux 异步 IO 接口 `io_uring` ,并将其与现有产品进行比较。 我们将探讨其存在的原因,它的内部工作原理以及开放给用户的接口。 本文不会讨论特定命令之类的细节,这些都可以查看相关 [man](https://github.com/axboe/liburing/tree/master/man) 文档或者 [lord of the io_uring](https://unixism.net/loti/),我们会介绍 `io_uring` 及其工作原理,希 望读者可以更深刻的理解。 本文和 [man](https://github.com/axboe/liburing/tree/master/man) 之间会有一些重叠,如果不提供这些细节就无法提供对 `io_uring` 的描述
本来准备写一篇详细关于 io_uring 的中文文章,不过在使用上官方的一些文章写的已经非常详细,简单的拿来翻译感觉又失去了乐趣于是便借鉴 liburing,配合 Go 提供的并发机制实现了一个 golang 版本的异步 IO 库 —— iouring-go
Don'tcommunicatebysharingmemory,sharememorybycommunicating.不要通过共享内存来通信,而要通过通信来实现内存共享。
在Informer中Store提供了将存储对象的能力,而Indexer在Store的基础上又提供了可以自定义索引来查询对象的功能StoreStore接口提供的功能比较直观,主要是用于对对象的增删改查。typeStoreinterface{Add(objinterface{})errorUpdate(
wait包提供了通过轮询或者监听一个条件的修改(关闭channel,ctx.Done,...)来执行指定函数的工具函数,这些函数可以分为四大类Until类:根据channel的关闭或者contextDone的信号来结束对指定函数的轮询操作Condition类:不只是会根据channel或者conte
我们都知道在Linux上孤儿进程和僵尸进程都会被进程号为1的init进程收养,收尸,但这在使用Systemd来管理系统的发行版上比如Ubuntu上就不是那么靠谱了
工作中发现项目在镜像构建时,即使没有修改 go.mod 也依然会执行 go mod download 来拉取依赖,而不是使用镜像缓存,导致每次构建时间都很长 经过排查发现是使用 ARG 导致的镜像缓存失效
ssh 是一个非常常用的工具,通常用来登录到远程主机上,不过 ssh 不仅仅只能用来登录,还能执行远程命令,或者进行多种的端口转发
在编译 Go 程序的时候如何加入一些额外的信息,比如 当前最新的 `commit sha`,编译的 `go version` 之类的