在 Go 中使用 mmap 映射文件到内存
目录 mmap 系统调用 在 Go 中使用 mmap mmap 系统调用 Linux 支持通过 mmap系统调用 将文件映射到内存中,然后我们读写映射之后的虚拟内存就可以了,不用再用 write/read 系统调用读写文件。系统会将我们对内存读写 flush 到文件中,flush 是由系统自动执行的,我们也可以调用 Flush 强制刷盘。 void *mmap(void ad...
目录 mmap 系统调用 在 Go 中使用 mmap mmap 系统调用 Linux 支持通过 mmap系统调用 将文件映射到内存中,然后我们读写映射之后的虚拟内存就可以了,不用再用 write/read 系统调用读写文件。系统会将我们对内存读写 flush 到文件中,flush 是由系统自动执行的,我们也可以调用 Flush 强制刷盘。 void *mmap(void ad...
目录 pulumi 入门 环境初始化 写交付代码 pulumi 是怎么工作的 pulumi 中的依赖 pulumi 常用命令 使用技巧 将 pulumi.StringOutput 转换为 pulumi.ID 结构化配置 管理集群中已有资源 get 非 pu...
目录 概述 通过 fmt.Errorf 来 wrap error errors.Is: 是否有错误 equal 理解与使用 errors.Is 实现 errors.As: 是否有错误类型匹配 理解与使用 errors.As 实现 Go 中的 Comparable ...
目录 pprof 分析 采集与分析 pyroscope 持续分析 trace trace 采集与分析 trace 示例 GOMEMLIMIT 环境变量 automaxprocs 自动配置 GOMAXPROCS 参考 pprof 分析 采集与分析 如果要在浏览器中查看可...
目录 B-tree 的定义 开箱即用的 btree 库 B-tree 的定义 参考维基百科《B-tree》的定义。一个度(order、degree)为 m 的 B-tree,其特点为: 每个节点最多有 m 个 children。 每个内部节点至少有 ⌈m/2⌉ 个 children(rounded up)。 root 节点至少有两个 children,除非是个叶子...
目录 三种 patch 方式对比:json、merge、strategic json vs merge merge vs strategic 通过 kubectl patch 修改资源 K8s client 中使用 patch client-go 使用 patch controller-run...
目录 cache 问题概述 controllerruntime 的核心接口 Manager 接口 Cluster 接口 初始化过程 cache 初始化 client 初始化 informerCache 的 Get 接口 总结 cache 问题概述 近期我们需要...
目录 一个具体问题 反射相关类型 interface: eface 与 iface reflect.Type 接口 reflect.Value 结构体 解决具体问题 一个具体问题 最近遇到一个问题,在使用工具 gocsv 将一个 csv 文件反序列化为 struct 的时候,反序列出来的字符串都带有一个后缀 \...
目录 前言 整体架构概述 详细设计 provider 层设计 资源模型抽象 model controller 实现 context 上下文 总结 前言 最近在做公有云相关工作,也会写一些控制器,公有云配置较多,比较琐碎,写的时候发现有很多冗余,设计上也有一些欠缺,知道阿里云有一个 Cloud pr...
目录 概述 部署安装 集群第二个调度器 集群唯一调度器 一些插件 Capacity Scheduler Coschedulering Node Resources Network-Aware Scheduling 概述 项目 scheduler-plu...