NOTE

数据结构/算法

优先级队列及 Golang 中的实现

优先级队列是常用的数据结构,区别于 FIFO 先进先出队列,优先级队列中的元素都具有优先级关系,出队时需要按照优先级顺序出队。元素的优先级是自定义的,可以按照时间、大小等。 这里还有一个问题,为什么我们需要优先级队列,我们直接把所有元素都排序不就好了吗,按照排序后的顺序进行出队。这么说也没错,但有些场景还是用优先级队列比较合适,比如说我们不需要处理所有的元素。假设我们有 n 个元素(n 非...

gRPC

gRPC 示例:实现发布订阅模式

很多协议的标准都是用 gRPC 定义的,对 gRPC 不了解,在理解这些协议的时候也很费劲,做一个简单的 gRPC 入门,主要参考《官方文档》。 gPRC是什么 在 gRPC 框架下,客户端应用可以像调用本地方法一样直接调用另一台不同的机器上服务端应用的方法(RPC 定义),基于此能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,...

K8s

Kubelet 运行过程概述

kubelet 比较庞大,涉及的东西很多,相互之间关联性也不强,目前还没有了解每个模块的能力,因此只能做一个概述。以后在这个提纲的基础上再深入研究某一模块。kubelet的启动流程以及参数初始化不会涉及,主要是每个管理器的初始化过程,以及kubelet的同步过程。基于的代码是k8s 1.9。 初始化 初始化的代码在pkg/kubelet/kubelet.go文件,函数为NewMai...