2023年9月16日

模板方法模式

摘要: 在接口中定义算法步骤,子类实现算法步骤。 拉起容器时既可以通过docker,也可以通过containerd。 package main import "fmt" type containerHandle struct { c containerHandler } type containerHand 阅读全文

posted @ 2023-09-16 22:34 王景迁 阅读(8) 评论(0) 推荐(0) 编辑

迭代器模式

摘要: 迭代器能在不暴露复杂数据结构内部细节的情况下遍历其中所有的元素。 package main import "fmt" type Iterator interface { hasNext() bool getNext() *User } type Collection interface { crea 阅读全文

posted @ 2023-09-16 20:45 王景迁 阅读(6) 评论(0) 推荐(0) 编辑

设计模式7大原则

摘要: 开闭原则对扩展开放,对修改关闭。 依赖倒置原则面向接口编程。 单一职责原则一个类、接口、方法只负责一项职责。 接口隔离原则接口中方法尽量少。 迪米特法则尽量降低类与类之间的耦合。 里氏替换原则引用父类的地方能使用其子类。 合成复用原则尽量使用合成/聚合的方式,不是使用继承。 阅读全文

posted @ 2023-09-16 20:24 王景迁 阅读(5) 评论(0) 推荐(0) 编辑

k8s限速队列

摘要: channel问题 channel是go协程间通信的主要方式。channel预设容量,很难评估,不支持动态扩容。k8s的client-go提供了基于切片的线程安全的并发队列,解耦生产者与消费者,提供了去重、限速、重试加入队列等功能。 k8s controller处理事件官方例子 生产者 // 创建一 阅读全文

posted @ 2023-09-16 16:10 王景迁 阅读(280) 评论(0) 推荐(0) 编辑

k8s controller选主

摘要: controller选主代码实现 controller多实例可能状态1 抢锁成功,作为Leader跑业务2 抢锁失败等待3 释放锁,结束 k8s官方例子go.mod和主流程 module controller-by-leader-election go 1.19 require ( github.c 阅读全文

posted @ 2023-09-16 11:05 王景迁 阅读(107) 评论(0) 推荐(0) 编辑

调整节点部署pod数上限

摘要: 默认单节点部署pod数上限是110,超过时会调度失败。 vim /var/lib/kubelet/config.yamlmaxPods: 300systemctl restart kubelet 阅读全文

posted @ 2023-09-16 09:27 王景迁 阅读(49) 评论(0) 推荐(0) 编辑

导航