凯的BLOG

Posts

2021


confd+etcd实现nginx配置管理

·

confd是一个轻量级的配置管理工具,可以通过查询后端存储系统来实现第三方系统的动态配置管理,如NginxTomcatHAproxyDocker配置等。

confd能够查询和监听后端系统的数据变更,结合配置模版引擎动态更新本地配置文件,保持和后端系统的数据一致,并且能够执行命令或者脚本实现系统的reload或者重启。

Linux进程状态

·
状态 说明 D uninterruptible sleep (usually IO) R running or runnable (on run queue) S interruptible sleep (waiting for an event to complete) T stopped by job control signal t stopped by debugger during the tracing W paging (not valid since the 2.

《SRE Google运维解密》阅读

·

Google工程师在提高系统部署规模、改进可靠性和资源利用率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。

Etcd用户和权限设置

·

创建root用户

etcdctl --user root user add root
etcdctl --user root user grant-role root root

添加root用户的时候会要求指定密码

2020


《Redis设计与实现》重点回顾

·

《Redis设计与实现》由“数据结构与对象”、“单机数据库的实现”、“多机数据库的实现”、“独立功能的实现”四个部分组成。

2019


Go Modules

·

一、Go Modules介绍 #

go modules是golang1.11新加的特性。

官方定义:modules是相关Go包的集合。modules是源代码交换和版本控制的单元。go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。

Git工作流——Forking

·

项目维护者初始化正式仓库 #

和任何使用Git项目一样,第一步是创建在服务器上一个正式仓库,让所有团队成员都可以访问到。通常这个仓库也会作为项目维护者的公开仓库。

公开仓库应该是裸仓库,不管是不是正式代码库。所以项目维护者会运行像下面的命令来搭建正式仓库:

git init --bare /path/to/repo.git

如果有现存的代码库,维护者也要push到这个仓库中。

2018


《游戏编程模式》阅读小结

·

  多数游戏程序员所面临的最大挑战就是完成他们的游戏。许多游戏止步于其高度复杂的代码库面前,而最终没能问世。游戏编程设计模式正是为解决此问题而生。

GameProgrammingPatterns