WAL 概述
目录 概述 写入wal 恢复 校验 概述 WAL(Write Ahead Log)很久就听说过,但是一直不理解怎么实现的,搜索的时候翻到一个写数据库的damo程序,看了一下,总结下WAL的实现。参考的文章为Writing a Database: Learning By Doing,这个项目的代码地址为https://github.com/danchia/ddb. WA...
目录 概述 写入wal 恢复 校验 概述 WAL(Write Ahead Log)很久就听说过,但是一直不理解怎么实现的,搜索的时候翻到一个写数据库的damo程序,看了一下,总结下WAL的实现。参考的文章为Writing a Database: Learning By Doing,这个项目的代码地址为https://github.com/danchia/ddb. WA...
目录 基本概念 使用 cfssl 生成证书 Golang TLS编程 server端 client端 参考 基本概念 TLS编程涉及到一些概念,比如非对称加密、私钥、公钥、CA等,需要先理清这些概念,才能把流程打通,说句题外话,之前工作的时候这部分概念理清过,也实现了TLS编程,但是文档写在公司内网了,后来也忘记了,到现...
我们在 K8s 中处理 delete 事件时,有可能传入的资源并不是我们所关注的资源,而是一个 DeletedFinalStateUnknown,以sig-storage-local-static-provisioner 项目为例,处理 pv 事件的方法如下,可以看到在处理 delete 事件时,如果类型断言不成功,需要看一下是不是cache.DeletedFinalStateUnknown...
Sts控制器概述大概描述了sts控制器的工作原理,这里重点关注下滚动升级的实现。 controllerrevision 概述 记录了某一时刻podSpec template的模板,其Data字段是不可修改的,Revision字段是可以修改的。其定义如下。daemonset以及statefulset会通过ControllerRevision来实现滚动升级。 type ControllerRe...
目录 三次握手 四次挥手 tcp 流量控制 TCP问题好难,对于这种问题,一方面是应用场景少,实践的不够多,比如调试网络问题的机会;另一方面是工作的时候调试问题总是得过且过,没有深入研究,这个可能还有其他外界因素的干扰,也不允许深究下去。 工作中遇到的问题主要是一些异常的tcp状态,比如一些tcp错误码,如delayAckLost等,还有就是一些异常的网络连接,比如大量c...
目录 基本概念 单机容器网络 CNI 网络配置格式 Execution Protocol (调用协议) Execution of Network Configurations Plugin Delegation Result Types CNI实现 参考: 基本概念 名词解释都放在...
目录 1. 容器发包到 cni0 2. cni0 路由报文到 flannel.1 3. flannel.1 设备封包 3.1 如何已知目标 VTEP 设备的 IP 查其 mac 3.2 添加 vxlan header 3.3 把 vxlan 报文封装到 udp 报文 4. 主机网络发送 udp 报文 5. 主...
目录 主体流程 声明 初始化及启动 等待同步及启动 worker goroutine Reflector 工作原理 DeltaFIFO 队列 controller reflector 运行框架 之前在《关于k8s informer的基本概念与原理》中介绍...
在 Moby 代码中发现一个发布订阅设计的实现,想简单分析一下。这是一个既可以发布消息,也可以发起订阅的组件。发布者和订阅者都持有这个组件的引用,其中发布者负责发布消息,订阅者负责取消息。 组件中通过一个 map 来储存所有的发布者,以及每个发布者对消息的过滤函数。map 的 key 是一个 channel,这里要注意一下 channel 的判等操作,channel 在满足下面条件时,是相...
文章目录 go-cache 概述 实现细节 数据结构 初始化 Set/Add/Get Save(备份到文件) 总结 go-cache 概述 https://github.com/patrickmn/go-cache 是一个简单的 go 内存缓存,但是 star 数较多,可见受到大家的认可。本文主要探讨...