Tiny proxy of ElastiCahce Memceched configuration endpoint
Mimikyu is a tiny proxy of ElastiCahce Memceched configuration endpoint designed for safe migration between 2 Memcached clusters.
This implementation is very rough. Please test carefully with your Memcached client before use in production.
Amazon ElasiCahce Memcached has a mechanism for auto-discovery nodes consists of a Memcached cluster. The configuration endpoint provides the feature.
A Memcached client implemented the auto-discovery protocol fetches all node information (endpoint, port, and so on.) from the endpoint by use config get cluster
command.
Mimikyu emulates the configuration endpoint. When Mimikyu receives a request from client,
stats
stats
command to upstream primary cluster. Then, send the response to the client as it as.config get cluster
config get cluster
for upstream primary/secondary clusters and collect the responses.SERVER_ERROR
and close the connection from client.As a result, the client of Mimikyu can discover all nodes included primary cluster and secondary cluster. Hence, we can decrease nodes of primary cluster gradually.
See mimikyu --help
.
MIT