Skip to content

Latest commit

 

History

History
43 lines (24 loc) · 1.21 KB

tips.md

File metadata and controls

43 lines (24 loc) · 1.21 KB

Tips

1 Optimization

1.1 Raft

1.1.1 Observer

Use observer to smoothly introduce a new member to the cluster.

1.1.2 Witness

Use witness to reduce election time and improve availability.

1.2 Node Management

1.2.1 Quiesce

1.2.2 Failure-domain Level Failure Detection

1.2.3 Shard Awareness

1.2.4 Gossip

1.2.5 Feedback-based IO Scheduling

All writes are priority-based since we usually want the latency of front-end request as low as possible at the cost of a slow back-end snapshotting/compaction.

When the system is under heavy load, the front-end operation will be given higher priority via a feedback-based controller.

1.3 General Techniques

1.3.1 Run-to-complete

1.3.2 Double-buffering

1.3.3 Rate Limiter

1.3.4 Circuit Breaker