[![status-badge](https://ci.batsense.net/api/badges/105/status.svg)](https://ci.batsense.net/repos/105) --- # dcache: Distributed, Highly Available cache implementation for mCaptcha ## Overview - Uses Raft consensus algorithm via [openraft](https://crates.io/crates/openraft) - GRPC via [tonic](https://crates.io/crates/tonic) ## Tips We recommend running at least three instances of dcache in your deployment. **NOTE: Catastrophic failure will occur when n/2 + 1 instances are down.** ## Usage ## Firewall configuration dcache uses a single, configurable port for both server-to-server and client-to-server communications. Please open that port on your server. ## Launch ```bash dcache --id 1 \ --http-addr 127.0.0.1:9001 \ --introducer-addr 127.0.0.1:9001 \ --introducer-id 1 \ --cluster-size 3 ``` ### Options | Name | Purpose | | ----------------- | ----------------------------------------------------------- | | --id | Unique integer to identify node in network | | --http-addr | Socket address to bind and listen for connections | | --introducer-addr | Socket address of introducer node; required to join network | | --intdocuer-id | ID of the introducer node; required to join network | | --cluster-size | Total size of the cluster |