Redis-HA
Overview
The source code and default configuration of the Building Block is available in our code.syseleven.de. Infos on release notes and new features please follow Release notes redis-ha
Redis-HA
Redis is a widely used in memory data store which can be used as a database. It belongs to NoSQL Databases and fits to use cases where a simple data structures fit.
Prerequisites On Redis-HA
Proceed with the following prerequisite description to use the Building Block out of the box.
Recommended Setup
A recommended resource overview is listed in the table below.
| CPU / vCPU | Memory |
|---|---|
| 1.3 | 1380 + 128-256MiB per worker node |
No further activities need to be carried out in advance.
Redis Architecture
Redis consists of 5 Pods:
- 2 x HAProxy
- 3 x Redis HA Server
Adding The Building Block
Add the directory syseleven-redis-ha to your control repository. Add a .gitlab-ci.yml to the directory with the following content:
include:
- project: syseleven/building-blocks/helmfiles/redis-ha
file: JobDevelopment.yaml
ref: { { site.building_blocks.redis_ha.version|e } }
- project: syseleven/building-blocks/helmfiles/redis-ha
file: JobStaging.yaml
ref: { { site.building_blocks.redis_ha.version|e } }
- project: syseleven/building-blocks/helmfiles/redis-ha
file: JobProduction.yaml
ref: { { site.building_blocks.redis_ha.version|e } }
Remove environments you are not using by removing their include.
Configuration
Redis maxmemory/pod Limits Config Option
For a production-grade setup, it is highly recommended to define a maxmemory limit for Redis and resource limit for the pod.
In our experience the formula maxmemory * 125% <= limits can be used for a stable configuration.
syseleven-redis-ha/values-redis-ha.yaml
Monitoring
Additional Alert-Rules
Additional Grafana dashboards
- Redis
- An overview of performance metrics of Redis (for example memory usage, clients, hits/misses, total items, ...)
- HAProxy
- An overview of performance metrics of HAProxy (for example connections, sessions, queues, ...)
Redis
- Amount of replicas can be adjusted
- Requests/limits for CPU/memory can be adjusted
HAProxy
- Amount of replicas can be adjusted
- Requests/limits for CPU/memory can be adjusted
Scaling Setup
This building block consists of multiple components. Each of the components can and must be scaled individually.
Release-Notes
Please find more infos on release notes and new features release notes Redis-HA