NOTE

Golang

Golang 反向代理 reverse proxy 示例

一个 golang 反向代理的极简实现。关于反向代理,实际包含三部分:客户端、反向代理、服务端。其请求流程如下: 客户端 --> 反向代理 --> 服务端 也就是客户端先将请求发给反向代理,反向代理再将请求转发给服务端,这里反向代理也是一个服务器,监听在某个端口。具体实现如下。 客户端 客户端向反向代理发送请求,所以客户端需要知道反向代理的地址(这不是废话吗),依我现在的看...

Etcd

Etcd raft 模块应用案例解析:raftexample

etcd 中的 etcd-raft 模块是一个 raft 的标准实现,raftexample 通过这个 etcd-raft 模块构建了一个分布式的一致性的存储驱动,通过 raftexample 这个例子可以看下使用 raft 的设计思想。从这例子中可以看出 raft 是跟业务无关的,它只关心数据在几个 raft 实例之间的一致性,具体是什么数据它不关心。同时它也不关心数据持久化的问题,他只是...

Etcd

《In search of an Understandable Consensus Algorithm》Etcd 论文简析

今天去参加前同事聚会了,大佬们都很厉害,我什么时候才能成为大佬。 前言 理解一下 etcd 论文,目的在理解其核心思想。在阅读 etcd 源码时,能够分清哪些东西是为了实现协议额外添加的,哪些是 etcd 自身的东西。同时,这些东西比较零碎,记在这里,能够随时回来翻一下。对于论文中不明确的内容,将以英文的形式直接列出来,避免引起误导。 etcd 论文中提供的方法在实现时可能略有差异,有些细...