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:
    • topic/sub_topic/data
  • 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)
    • quote: 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


Attitude is everything