mysql-charset
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1 | $ hexo new "My New Post" |
More info: Writing
Run server
1 | $ hexo server |
More info: Server
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment
系统架构之演化
Mysql中的WAL(预写日志)
Mysql-主从同步
数据库随着越来越多的请求,我们将数据库的写操作和读操作进行分离, 使用多个从库副本(Slaver Replication)负责读,使用主库(Master)负责写, 从库从主库同步更新数据,保持数据一致。架构上就是数据库主从同步。 从库可以水平扩展,所以更多的读请求不成问题。
Golang中的服务限流
服务限流
服务限流指的是设置服务能支持得最大并发访问量,超过阈值则拒绝;限流阈值得设置通常分两种类型一种是Qps,一种是Concurrency。限流通常使用令牌桶来实现。
令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。大小固定的令牌桶可自行以恒定的速率源源不断地产生令牌。当有新的请求的到来时需要先申请令牌桶取一定数量的令牌。取不到时返回错误,以此来实现限流。
Golang中的限流包time/rate
构造一个限流器
1 | limiter := NewLimiter(10, 1); |
1 | 1.第一个参数是 r Limit。代表每秒可以向 Token 桶中产生多少 token。Limit 实际上是 float64 的别名。 |
Golang Http服务优雅关闭
web服务在重启时,正在处理的请求可能会被强制的关闭。这样会影响服务的可用性。所以需要服务优雅退出。
原理就是先停止端口监听,等没有新的请求过来。然后等一两秒然后再停服务。Golang中signal包里的Notify函数支持订阅信号,程序收到信号后自己来控制shutdown的过程。代码如下:
浅析SSL/TSL的通信机制
Secure Sockets Layer 安全套接字层
Transport Layer Security 传输层安全
TLS是基于SSL3.0之后升级设计的协议,相当于SSL的后续版本。
信息安全概述中介绍了信息安全中要保证信息的3大特性:保密性(防窃听)、完整性(防篡改)、不可抵赖性(防抵赖)。SSL的设计中对以上特性都进行了考虑,可谓信息安全的集大成者。