摘要: 最近生产环境的磁盘占用告急,其中mysql数据占比较多,决定将mysql的数据文件迁移到一块新的磁盘,在此记录下。 1.硬盘初始化 1.查看硬盘信息 lsblk 2.分区 fdisk /dev/vdb 输入 n 按回车新建分区 输入 p 按回车新建主分区 设置分区数量 直接回车 默认1 设置分区起始 阅读全文
posted @ 2023-03-23 10:20 qxcheng 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 本篇文章我们实践用k8s编写一个自定义控制器,文章参考自极客时间张磊老师的课程:深入剖析 Kubernetes。 1.自定义控制器项目 首先我们在 GOPATH 下,创建一个结构如下的项目: $ tree $GOPATH/src/github.com/qxcheng/k8s-controller-c 阅读全文
posted @ 2023-03-20 14:58 qxcheng 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 本篇文章我们实践用k8s搭建一个mysql集群,文章参考自极客时间张磊老师的课程:深入剖析 Kubernetes。 1.local pv的搭建 假设我们的k8s集群有hostname为node-1,node-2,node-3的三台主机。首先,在宿主机上创建一个挂载点,比如/mnt/disks,然后用 阅读全文
posted @ 2023-03-17 14:18 qxcheng 阅读(1591) 评论(0) 推荐(0) 编辑
摘要: 本篇文章我们用Go封装一个利用gopark和goready实现协程睡眠唤醒的库。文章参考自:https://github.com/brewlin/net-protocol 1.gopark和goready的声明 //go:linkname gopark runtime.gopark func gop 阅读全文
posted @ 2023-03-03 16:33 qxcheng 阅读(301) 评论(0) 推荐(1) 编辑
摘要: 本篇文章我们用Go实现一个自定义事件注册并等待唤醒的机制,其中涉及到的链表操作可以参考上一篇文章。文章参考自:https://github.com/brewlin/net-protocol 1.自定义唤醒事件 type EventMask uint16 const ( EventIn EventMa 阅读全文
posted @ 2023-03-01 12:29 qxcheng 阅读(64) 评论(0) 推荐(1) 编辑
摘要: 本篇文章我们用Go封装一个介入式的双向链表,目的是将链表的实现和具体元素解耦。文章参考自:https://github.com/brewlin/net-protocol 1.元素的接口 type Element interface { Next() Element Prev() Element Se 阅读全文
posted @ 2023-02-27 13:36 qxcheng 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 本篇文章我们用Go封装一个无等待锁库。文章参考自:https://github.com/brewlin/net-protocol 1.锁的封装 type Mutex struct { v int32 ch chan struct{} } 2.锁的初始化 func (m *Mutex) Init() 阅读全文
posted @ 2023-02-26 23:09 qxcheng 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 本篇文章我们用go来实现红黑树,部分参考资料如下: https://www.cnblogs.com/skywang12345/p/3245399.html#!comments https://blog.csdn.net/v_JULY_v/article/details/6105630 https:/ 阅读全文
posted @ 2021-11-03 19:44 qxcheng 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 本篇,我们用go简单的实现平衡二叉查找树。具体原理参考大佬博客即可:AVL树(一)之 图文解析 和 C语言的实现 1.节点定义 type AVLNode struct{ data int height int left, right *AVLNode } 2.树的遍历 // 前序遍历 func Pr 阅读全文
posted @ 2021-10-29 15:41 qxcheng 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 在搭建前,我们先用vmware创建3台虚拟机,并确保它们相互之间能够ping通。 1. redis源码安装 1.1 编译安装 apt install gcc make wget http://download.redis.io/releases/redis-6.2.6.tar.gz tar -zxv 阅读全文
posted @ 2021-10-21 11:06 qxcheng 阅读(116) 评论(0) 推荐(0) 编辑