ETCD Architecture study.
Some study note about survey how Raft work in ETCD. Something more about official architecture from digging code.
- Data storage in etcd/storage/backend. The file structure as follow:
- Data Exchange type using protobuf with grpc
BTW: NSQ using http.handle. So, no RPC data exchange issue, no protobuf required.
NSQ about how to elimiate SPOF
Refer to slide.
Seems the SPOF means of client side failure handle, not server side. (TBC)
- Every server response to dedicate topic (no redudent) (p.22)
- Client use this to add more consumer and handle it as load balance. (Refer topology_pattern)
Assuming you have some sort of load balancer in front of these two hosts you can now tolerate any single host failure.
Need more check about this gist about use NSQ on K8s