上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 69 下一页

2023年9月16日

设计模式7大原则

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

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

k8s限速队列源码分析

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

posted @ 2023-09-16 16:10 王景迁 阅读(454) 评论(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 王景迁 阅读(177) 评论(0) 推荐(0)

调整节点部署pod数上限

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

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

2023年9月15日

高版本kube-apiserver删除namespace

摘要: 确认namespace下没有资源 kubectl get all -n my-namespace kubectl delete namespace my-namespace 调用kube-apiserver PUT接口去掉namespace中的finalizer kubectl proxy & PI 阅读全文

posted @ 2023-09-15 08:59 王景迁 阅读(27) 评论(0) 推荐(0)

2023年9月3日

NUMA作用

摘要: UMA(Uniform Memory Access)统一内存访问,每个CPU共享相同的内存地址空间。CPU核数很多时对总线带宽压力和访问同一块内存的冲突问题比较明显。 NUMA全称Non-Uniform Memory Access,即非一致性内存访问,可以解决这些问题。内存和CPU从属不同的Node 阅读全文

posted @ 2023-09-03 18:21 王景迁 阅读(212) 评论(0) 推荐(0)

centos7.9安装dpvs

摘要: # 安装依赖 yum install popt-devel automake gcc -y yum install -y python3-pip yum install numactl-devel -y yum install openssl-devel -y # 安装python 3.7.0和me 阅读全文

posted @ 2023-09-03 17:40 王景迁 阅读(360) 评论(0) 推荐(0)

DPDK基本原理

摘要: 内核处理网络数据包弊端 中断处理处理大量网络数据包时,出现频繁的硬件中断,产生较高的性能开销。 内存拷贝网络数据包从网卡到应用程序流程是,数据从网卡通过DMA传到内核缓冲区,从内核态拷贝到用户态。 上下文切换硬件中断、多线程、锁竞争产生上下文切换开销。 CPU缓存失效数据包处理可能跨多个CPU,例如 阅读全文

posted @ 2023-09-03 17:19 王景迁 阅读(232) 评论(0) 推荐(0)

Etcd中heartbeat interval和election timeout

摘要: heartbeat interval是leader发送心跳的间隔时间。election timeout是follower多久没收到心跳要重新选举的时间。etcd默认heartbeat interval是100ms,election timeout是[1000,2000]ms。heartbeat in 阅读全文

posted @ 2023-09-03 10:40 王景迁 阅读(557) 评论(0) 推荐(0)

2023年8月20日

策略模式

摘要: 根据类型选择不同的处理方式。 package main import ( "fmt" ) const ( NoteType = 0 TellphoneType = 1 ) type MessageNotify interface { support(notifyType int) bool noti 阅读全文

posted @ 2023-08-20 14:41 王景迁 阅读(14) 评论(0) 推荐(0)

上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 69 下一页

导航