09 2023 档案

设置go下载依赖代理
摘要:go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct 阅读全文

posted @ 2023-09-29 19:54 王景迁 阅读(125) 评论(0) 推荐(0)

ovs编译安装
摘要:ovs打开debug .ci/linux-build.sh中-O2改成-O0 编译安装ovs git clone https://github.com/openvswitch/ovs.git ./boot.sh ./configure --prefix=/usr --localstatedir=/v 阅读全文

posted @ 2023-09-29 13:31 王景迁 阅读(97) 评论(0) 推荐(0)

配置docker
摘要:修改docker默认存储路径 docker默认使用/var/lib/docker作为存储目录。 mkdir /root/docker cat >> /etc/docker/daemon.json << EOF { "data-root": "/root/docker" } EOF systemctl 阅读全文

posted @ 2023-09-29 12:22 王景迁 阅读(35) 评论(0) 推荐(0)

centos开启sudo免密
摘要:visudo在root后加一行 用户名 ALL=(ALL) NOPASSWD:ALL root1用户可以直接切root了。 阅读全文

posted @ 2023-09-29 12:12 王景迁 阅读(260) 评论(0) 推荐(0)

LB
摘要:FULLNAT模式 客户端流量达到LB时,DNAT把数据包的目的IP改为后端服务IP,SNAT从local ip池中选择一个IP作为源IP,重新选源端口,后端服务应答时目的IP是local ip。 LVS性能问题 LVS做四层负载均衡。中断是影响LVS性能最重要的一个因素,假如一秒处理600万个数据 阅读全文

posted @ 2023-09-23 14:48 王景迁 阅读(299) 评论(0) 推荐(0)

nsenter进入容器命名空间操作
摘要:docker inspect 容器id | grep -i pid nsenter -t <PID> --net --ipc --uts --pid --mount 操作命令 阅读全文

posted @ 2023-09-23 13:59 王景迁 阅读(85) 评论(0) 推荐(0)

Nginx gdb调试问题
摘要:问题1:value has been optimized out值已优化 执行完configure之后,在nginx源码路径objs下生成Makefile文件。修改auto/make增加COPT = -O0 -funroll-loops,表示不优化 阅读全文

posted @ 2023-09-21 08:29 王景迁 阅读(126) 评论(0) 推荐(0)

Nginx printf打印输出到终端和打印格式
摘要:把Nginx改成非守护进程方式运行daemon off; printf打印格式size_t本质类型是long unsigned int,printf使用%ld。 阅读全文

posted @ 2023-09-21 08:26 王景迁 阅读(341) 评论(0) 推荐(0)

Nginx高性能原因
摘要:1. 在服务提供方式上,基于事件模型异步方式来提供服务。2. 在连接处理机制上,通过异步非阻塞方式来减少工作进程在I/O调用上的阻塞延迟,使用I/O多路复用来实现高性能监听套接口。3. 使用内存池批量申请内存和回收内存,减少内存碎片。 阅读全文

posted @ 2023-09-21 08:23 王景迁 阅读(92) 评论(0) 推荐(0)

kubelet删除pod异步操作
摘要:基本流程 1. kube-apiserver把Pod设置为Terminating状态。2. 从Service中异步删除Endpoint。3. 异步执行preStop Hook。4. 异步发送SIGTERM信号。5. 等待terminationGracePeriodSeconds(默认值为 30 秒) 阅读全文

posted @ 2023-09-19 22:15 王景迁 阅读(66) 评论(0) 推荐(0)

责任链模式
摘要:为请求创建一个对象链,每个对象依次处理请求并传给链中的下一个对象。责任链中每个对象都拥有同一个父类(或接口)。 package main import ( "fmt" "strings" ) type Handler interface { Handle(content string) next(h 阅读全文

posted @ 2023-09-17 10:32 王景迁 阅读(23) 评论(0) 推荐(0)

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

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

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

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

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

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

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

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

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

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

高版本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 王景迁 阅读(29) 评论(0) 推荐(0)

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

posted @ 2023-09-03 18:21 王景迁 阅读(219) 评论(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 王景迁 阅读(368) 评论(0) 推荐(0)

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

posted @ 2023-09-03 17:19 王景迁 阅读(240) 评论(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 王景迁 阅读(564) 评论(0) 推荐(0)

导航