主页

kubernates 必知必会

问题 kubernates 是什么, kubernates 解决了什么问题? kubernates 该如何使用? 集群中资源是如何调度的? k8s 是什么, 解决了什么问题 kubernates 是 Google 公司开源的一个容器编排与调度管理框架, 当前由 CNCF 托管. 解决了分布式系统情况下, 容器的编排与调度问题. 发展历史 2003-2004 年, Google 发布 Borg 系统, 3-4 人开发. 主要用于管理长时间运行的生产服务和批处理服务. Brog 将上述两种服务所需要的的机器统一成一个池子, 以便提高资源利用率, 同时降低成本. 之所以能够实现跨机器的资源共享以及进程隔离, 是因为可以拿到 Li...

阅读更多

Git 几种工程推送方式

全局配置 git config --global user.name "Chaim" git config --global user.email "chaim@xxx.com" 创建一个仓库 git clone git@gitlab.xxx.net:groupname/test.git cd test touch README.md git add README.md git commit -m "add README" git push -u origin master 推送一个存在的文件夹 cd existing_folder git init git remote add origin git@gitlab.xxx.net:groupname/test.git g...

阅读更多

AWS RDS 故障恢复

故障原因 可用区中断 主数据库实例故障 更改数据库实例服务器类型 数据库实例的操作系统在进行软件修补 数据库实例的手动故障转移是使用 Reboot with failover 启动的。 Amazon RDS 单可用区故障恢复 无论是主数据库实例故障, 还是从数据库实例故障, 此时均为 EC2 启动并替换的时间, 一般需要 5-10 分钟. Amazon RDS 多可用区故障恢复 只读实例也可以单独配置多可用区. 此时会进行故障迁移, 一般需要 60-120秒. Aurroa Mysql 故障 写入器故障 此时会进行故障迁移, 一般在30 秒内完成 读取器故障 读取器需要进行硬件替换, 一般读取器实例故障耗时需要 5-10 分钟来恢复, 也就...

阅读更多

Golang Context 使用与理解

业务场景 用户发出请求后, 点击了取消. 此时该请求会对应几个 goroutine, 一个获取身份信息, 一个获取 db 数据, 一个校验 token. 一旦请求被取消, 该请求涉及到的其他 goroutine 也应该被取消 实现方式 原始的 Demo 处理过程 package main import ( "fmt" "sync" "time" ) var wg sync.WaitGroup func worker() { for { fmt.Println("worker") time.Sleep(time.Second) } // 如何接收外部命令实现退出 wg.Done() } func main() { wg.Add(1) go work...

阅读更多

Vim Cheatsheet

命令执行格式 (command) (number) (text object) (number) (command) (text object) 基础操作 ZZ 或 :wq 保存并退出 :e! 恢复到上一次存储的文件内容 :w pathname/filename 写入到其他文件中 :rf pathname/filename 删除其他文件 :!ls pathname 查看其他目录使用情况 :sh -> ctrl-d 或 exit 创建对应的 shell 执行其任务后再返回 ctrl-z -> fg 暂停 vi 后执行...

阅读更多

Redis内存模型

内存使用统计 info 中常见属性说明 属性名 属性说明 used_memory Redis 分配器分配的内存总量(单位字节), 包含 swap used_memory_human 以可读方式返回 used_memory used_memory_rss Redis 进程占操作系统的内存总量(单位字节), 跟top 或 ps 看到的一致 used_memory_peak 内存使用的最大值, 即 used_memory 的峰值 ...

阅读更多

Mac禁用option组合键特殊字符.md

Iterm2 中 操作步骤 Preference Profiles default keys set option 为 Esc+ vscode 中(解决打开 terminal 时候使用 option 仍冲突) 操作步骤 cmd + shif +p open settings (ui) terminal.integrated.macOptionIsMeta 为 true

阅读更多