2023年7月16日

Nginx代码导入CLion

摘要: 安装mingw64 C/C++编译器GCC的Windows版本https://sourceforge.net/projects/mingw/从官网下载后勾选勾选全部后关闭窗口时选择review changes 设置环境变量 通过命令gcc -v检验是否设置成功。 打开代码后,打开某个c文件,选择Cr 阅读全文

posted @ 2023-07-16 14:46 王景迁 阅读(131) 评论(0) 推荐(0) 编辑

基于源码安装ZooKeeper

摘要: 下载ZK代码 git clone https://github.com/apache/zookeeper.git cd zookeeper git checkout branch-3.8 设置环境变量 echo "export ZOOKEEPER_HOME=/root/code/java/zooke 阅读全文

posted @ 2023-07-16 14:42 王景迁 阅读(39) 评论(0) 推荐(0) 编辑

ZooKeeper优缺点

摘要: zk优点 支持数据持久化 zk数据保存方式zk使用ConcurrentHashMap来保存键值对。定时持久化1. 把每次事务操作记录到日志文件,通过日志文件来恢复数据。2. 提供对树结构和session信息进行数据快照持久化的操作,有利于加快数据恢复。 删除目录的保护措施 zk删除目录时,如果目录下 阅读全文

posted @ 2023-07-16 14:39 王景迁 阅读(136) 评论(0) 推荐(0) 编辑

Redis value的数据类型

摘要: key和value key是字符串value有多种类型,包括string、set(元素是字符串,去重)、sortset(元素是字符串,有序且去重)、list(元素是字符串)、hash(field和value组成键值对, field和value是字符串) 阅读全文

posted @ 2023-07-16 14:35 王景迁 阅读(12) 评论(0) 推荐(0) 编辑

Redis分布式锁问题

摘要: 通过SET原子操作来设置key和过期时间 // 加锁// 如果key不存在,那么设置它的值,否则什么也不做SETNX lock 1// 10s后自动过期EXPIRE lock 10 // 2者合一,一条命令保证原子性执行SET lock 1 EX 10 NX 问题1:无法评估准确的加锁时间(自动续期 阅读全文

posted @ 2023-07-16 14:33 王景迁 阅读(63) 评论(0) 推荐(0) 编辑

MySQL主备

摘要: MySQL主备同步原理1 备库io_thread通过长连接获取主库的binlog2 备库sql_thread执行binlog 节点A和B之间互为主备关系,都认为对方是主,切换时不用再修改主备关系。解决双M binlog循环同步问题1 A更新的事务,binlog记的是A的server id2 B同步后 阅读全文

posted @ 2023-07-16 14:25 王景迁 阅读(96) 评论(0) 推荐(0) 编辑

MySQL锁

摘要: 全局锁 对数据库加锁,典型使用场景是全库备份。加全局读锁,整库只读:Flush tables with read lock (FTWRL)。 针对全库只读,不使用set global readonly=true,使用FTWRL的原因:1. readonly的值可能用来做逻辑判断,例如判断是主库还是备 阅读全文

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

MySQL自增值

摘要: InnoDB引擎1 自增值的保存机制MySQL 5.7及之前的版本自增值保存在了内存里面,MySQL 8.0版本才有自增值持久化能力(把自增值的变更记录在了redo log,重启后依靠redo log回复)。每次重启后,把自增值的最大值max(id)+1作为这个表当前的自增值。例如,一个表最大的id 阅读全文

posted @ 2023-07-16 14:08 王景迁 阅读(44) 评论(0) 推荐(0) 编辑

MySQL索引

摘要: 主键索引和普通索引结构上的区别 每一个索引在InnoDB里面对应一棵B+树。有一个主键列为ID的表,表中有字段k,在k上有索引。CREATE TABLE T ( id int PRIMARY KEY, k int NOT NULL, name varchar(16), INDEX(k)) ENGIN 阅读全文

posted @ 2023-07-16 14:05 王景迁 阅读(4) 评论(0) 推荐(0) 编辑

SQL语法

摘要: join LEFT JOIN连接左表中的所有行,即使在右表中找不到匹配的行也显示出来,用NULL值代替。RIGHT JOIN和LEFT JOIN在功能上是等效的,只要表顺序被切换。INNER JOIN中ON条件等同于WHERE子句中的条件。 group by group by在where后面,gro 阅读全文

posted @ 2023-07-16 13:56 王景迁 阅读(20) 评论(0) 推荐(0) 编辑

性能分析工具总结

摘要: CPU 内存 I/O 参考资料 Linux 性能优化实战 阅读全文

posted @ 2023-07-16 13:54 王景迁 阅读(13) 评论(0) 推荐(0) 编辑

生效环境变量

摘要: 容器 export只针对当前会话有效 source /etc/profile只针对当前会话有效 export写入~/.bashrc后新会话生效 export时key不能带-,否则export会失效 虚拟机 export只针对当前会话有效,但是source /etc/profile新会话依然有效。 阅读全文

posted @ 2023-07-16 13:47 王景迁 阅读(15) 评论(0) 推荐(0) 编辑

kubelet backoff源码分析

摘要: 容器拉起流程 为了避免容器频繁拉起,kubelet通过backoff来限制(backoff表示上次容器退出时间与再次创建间隔时间,lastUpdate表示上次容器创建时间,backoff和lastUpdate只会在Next函数中会更新):Pod中重启容器时(周期性执行SyncPod函数),Pod通过 阅读全文

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

调试kubelet

摘要: 方法1:goland+dlv远程调试kubelet Goland配置 cd到main函数所在的go文件目录 执行下面命令等待2分钟左右,等待时间长是因为资源不足,直到出现API server listening at: [::]:8033 /root/Downloads/dlv debug --he 阅读全文

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

kubelet健康检查的3种方式

摘要: httpGet 发送一个 HTTP 请求,当返回码介于 200~400 之间时,检查成功。 livenessProbe: httpGet: path: /index.html port: 80 httpHeaders: - name: X-Custom-Header value: Awesome i 阅读全文

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

容器网络域名解析

摘要: 使用service的原因 1. Pod的IP不是固定的。2. Pod实例之间需要负载均衡。 部署Service和Deploy 使用selector字段来声明这个Service只代理携带了app=hostnames标签的Pod。这个Service的80端口,代理的是Pod的9376端口。 apiVer 阅读全文

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

ipvs

摘要: iptables的缺点和ipvs的优点 当宿主机上有大量Pod时,大量iptables规则不断被刷新,占用大量CPU。ipvs采用了hash数据结构,比iptables更加高效。当创建了Service后,kube-proxy在每个宿主机上创建一个虚拟网卡(名字是kube-ipvs0),每个网卡上配置 阅读全文

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

flannel配置

摘要: flannel Pod挂载了ConfigMap kube-flannel-cfg 阅读全文

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

消息队列基础

摘要: 消息队列本质是将同步处理转成异步处理 消息队列的基本要求不丢消息高可用高性能 消息队列名称 RabbitMQ RocketMQ Kafka 优点 轻量级 低延迟和高稳定性 1. 与周边生态系统的兼容性最好 2. 基于异步批量设计的异步收发性能最好 缺点 1. 消息大量堆积时性能大幅下降 2. 使用的 阅读全文

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

StatefulSet

摘要: 有状态应用 实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,就被称为“有状态应用”。 Pod管理策略 通过.spec.podManagementPolicy 字段来管理 Pod。OrderedReady:严格遵循 Pod 顺序来启停,默认设置。Parallel:告诉 StatefulSet 阅读全文

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

导航