学习笔记系列文章总录

分布式系统

Raft 协议入门
分布式锁——Redlock
分布式锁——Etcd
基于etcd的服务注册与发现
Prometheus 入门

Go语言进阶

Go语言进阶(一)异常处理
Go语言进阶(二)Goroutine
Go语言进阶(三)内存模型
Go语言进阶(四)PackageSync
Go语言进阶(五)Context
Go语言进阶(六)工程项目布局
Go语言进阶(七)API设计
Go语言进阶(八)配置管理
Go语言进阶(九)Goroutine原理
Go语言进阶(十)内存分配原理
Go语言进阶(十一)GC原理
Go语言进阶(十二)channel原理
Go语言进阶(十三)分布式缓存
Go语言进阶(十四)分布式事务
Go语言进阶(十五)日志
Go语言进阶(十六)链路追踪
Go语言进阶(十七)指标监控
Go语言进阶(十八)微服务可靠性-隔离
Go语言进阶(十九)微服务可靠性-超时
Go语言进阶(二十)微服务可靠性-过载保护和限流
Go语言进阶(二十一)微服务可靠性-降级和重试
Go语言进阶(二十二)微服务可靠性-负载均衡和最佳实践
Go语言进阶(二十三)Go网络编程
Go语言进阶(二十四)Goim长连接TCP编程
Go语言进阶(二十六)Kafka-Topic-Partition
Go语言进阶(二十七)Kafka-Producer-Consumer
Go语言进阶(二十八)Kafka-Leader-Follower

Go排坑之路

Go排坑之路:切片的传递方式(切片的陷阱)
Go排坑之路:panic: time: missing Location in call to Time.In
go排坑之路:Etcd使用go module的灾难

Go入门学习

golang标准库 —— strconv包
golang标准库 —— errors包
golang标准库 —— container包
golang标准库 —— context包
golang new 和 make 区别
golang channel 学习笔记
gin框架入门
搭建GOLANG环境
初识micro——安装入门

Redis学习笔记

Redis学习笔记(零)序章
Redis学习笔记(一)基本架构
Redis学习笔记(二)数据结构
Redis学习笔记(四)AOF日志
Redis学习笔记(五)RDB内存快照

Mysql学习笔记

Mysql学习笔记(一)基础架构-一条SQL查询语句是如何执行的
Mysql学习笔记(二)日志系统:一条SQL更新语句是如何执行的?
Mysql学习笔记(三)事务隔离:为什么你改了我还看不见?
Mysql学习笔记(四)深入浅出索引(上)
Mysql学习笔记(五)深入浅出索引(下)
Mysql学习笔记(六)全局锁和表锁 :给表加个字段怎么有这么多阻碍?
Mysql学习笔记(七)行锁功过:怎么减少行锁对性能的影响?
Mysql学习笔记(八)事务到底是隔离的还是不隔离的?
Mysql学习笔记(九)普通索引和唯一索引,应该怎么选择?
Mysql学习笔记(十)MySQL为什么有时候会选错索引?
Mysql学习笔记(十一)怎么给字符串字段加索引?
Mysql学习笔记(十二)为什么我的MySQL会“抖”一下?
Mysql学习笔记(十三)为什么表数据删掉一半,表文件大小不变?
Mysql学习笔记(十四)count(*)这么慢,我该怎么办?
Mysql学习笔记(十六)“order by”是怎么工作的?
Mysql学习笔记(十七)如何正确地显示随机消息?
Mysql学习笔记(十八)为什么这些SQL语句逻辑相同,性能却差异巨大?
Mysql学习笔记(十九)为什么我只查一行的语句,也执行这么慢?
Mysql学习笔记(二十)幻读是什么,幻读有什么问题?

Docker学习笔记

docker学习笔记(一)基础操作
docker学习笔记(二)docker-composer
docker学习笔记(三)docker-machine
docker学习笔记(四)docker-swarm 容器集群服务
docker学习笔记(七) 搭建镜像仓库
docker学习笔记(八)日志聚合

K8s学习笔记

k8s学习笔记(一)安装与基本概念.md
k8s学习笔记(二)Pod
k8s学习笔记(三)控制器
k8s学习笔记(四)服务发现和负载均衡
k8s学习笔记(五)存储

网络编程

网络模型(一)五层网络模型(上)
网络编程(二)五层网络模型(下)
网络编程(三)TCP协议简介
网络编程(四)TCP与UDP差异对比分析
网络编程(五)为什么UDP有时比TCP更有优势?
网络编程(六)详解HTTP协议
网络编程(七)手把手教你写基于TCP的Socket长连接
网络编程(八)跟着动画来学TCP三次握手和四次挥手
网络编程(九)关闭TCP连接时为什么会TIME_WAIT、CLOSE_WAIT
网络编程(十)图解HTTPS
网络编程(十一)HTTP2.0和SPDY简介
网络编程(十二)快速读懂QUIC协议
php实践Libevent
php使用select/poll实现io复用