Files
openstack-operator/docs/components/mcrouter.md
Mohammed Naser 6dbb9475f9 Initial commit
This initial commit includes support for Mcrouter, Memcached,
basic CI tests as well as Helm charts for deploying things.

Depends-On: https://review.opendev.org/713107
Depends-On: https://review.opendev.org/713115
Change-Id: I0b1ab6d8e716460e095bc3953614e336620f984e
2020-03-17 19:38:31 -04:00

35 lines
1.1 KiB
Markdown

# Mcrouter
Mcrouter is a memcached protocol router for scaling Memcached deployments. It
is a core component of cache infrastructure at Facebook and Instagram where
Mcrouter handles almost 5 billion requests per second at peak.
OpenStack usually comes down to a halt if one of the Memcached instances don't
respond anymore. Mcrouter is used to enable high availability and redundancy
so that any Memcached outages will not affect the OpenStack services.
The only two possible reasons that we can have a full system slowdown at the
moment remains:
- All backends (Memcached instances) are all down
- All Mcrouter replicas are down
The first probably means there's a bigger issue in play, the latter will
likely automatically recover by Kubernetes ensuring that replicas come back
up. Also, due to the fact that the service is exposed as a ClusterIP, it only
takes a single replica to be up for everything to come back to start working
again.
## Example
```yaml
apiVersion: infrastructure.vexxhost.cloud/v1alpha1
kind: Mcrouter
metadata:
name: sample
spec:
route: PoolRoute|default
pools:
default:
servers: ['10.0.0.1:11211', '10.0.0.2:11211']
```