redis wip

This commit is contained in:
marcel-dempers 2020-08-03 22:07:53 +10:00
parent 89c82195fc
commit 2b14f61e87
8 changed files with 5658 additions and 4 deletions

View File

@ -0,0 +1,84 @@
## Replication
Documentation [here](https://redis.io/topics/replication)
### redis-0 Configuration
```
protected-mode no
port 6379
masterauth a-very-complex-password-here
requirepass a-very-complex-password-here
```
### redis-1 Configuration
```
protected-mode no
port 6379
slaveof redis-0 6379
masterauth a-very-complex-password-here
requirepass a-very-complex-password-here
```
### redis-2 Configuration
```
protected-mode no
port 6379
slaveof redis-0 6379
masterauth a-very-complex-password-here
requirepass a-very-complex-password-here
```
```
docker network create redis
cd .\storage\redis\clustering\
#redis-0
docker run -d --rm --name redis-0 `
--net redis `
-v ${PWD}/redis-0:/etc/redis/ `
redis:6.0-alpine redis-server /etc/redis/redis.conf
#redis-1
docker run -d --rm --name redis-1 `
--net redis `
-v ${PWD}/redis-1:/etc/redis/ `
redis:6.0-alpine redis-server /etc/redis/redis.conf
#redis-2
docker run -d --rm --name redis-2 `
--net redis `
-v ${PWD}/redis-2:/etc/redis/ `
redis:6.0-alpine redis-server /etc/redis/redis.conf
```
## Running Sentinels
Documentation [here](https://redis.io/topics/sentinel)
Starting Redis in sentinel mode
```
cd .\storage\redis\clustering\
docker run -d --rm --name sentinel-0 --net redis `
-v ${PWD}/sentinel-0:/etc/redis/ `
redis:6.0-alpine `
redis-sentinel /etc/redis/sentinel.conf
docker run -d --rm --name sentinel-1 --net redis `
-v ${PWD}/sentinel-1:/etc/redis/ `
redis:6.0-alpine `
redis-sentinel /etc/redis/sentinel.conf
docker run -d --rm --name sentinel-2 --net redis `
-v ${PWD}/sentinel-2:/etc/redis/ `
redis:6.0-alpine `
redis-sentinel /etc/redis/sentinel.conf
```

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
port 26379
sentinel myid 33e6a688bbe5298b638ff8761e6c17a241cb4e9c
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.22.0.2 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
# sentinel monitor mymaster redis-0 6379 2
# sentinel down-after-milliseconds mymaster 5000
# sentinel failover-timeout mymaster 60000
# sentinel parallel-syncs mymaster 1
# Generated by CONFIG REWRITE
user default on nopass ~* +@all
dir "/data"
sentinel auth-pass mymaster a-very-complex-password-here
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 172.22.0.3 6379
sentinel known-replica mymaster 172.22.0.4 6379
sentinel known-sentinel mymaster 172.22.0.6 26379 d12ca24ea1a9a0790c0afb72785e78dc63a50f7b
sentinel known-sentinel mymaster 172.22.0.7 26379 c13ed147aa1fb839758aaed52928f49df37e7192
sentinel current-epoch 0

View File

@ -0,0 +1,22 @@
port 26379
sentinel myid d12ca24ea1a9a0790c0afb72785e78dc63a50f7b
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.22.0.2 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
# sentinel monitor mymaster redis-0 6379 2
# sentinel down-after-milliseconds mymaster 5000
# sentinel failover-timeout mymaster 60000
# sentinel parallel-syncs mymaster 1
# Generated by CONFIG REWRITE
user default on nopass ~* +@all
dir "/data"
sentinel auth-pass mymaster a-very-complex-password-here
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 172.22.0.4 6379
sentinel known-replica mymaster 172.22.0.3 6379
sentinel known-sentinel mymaster 172.22.0.7 26379 c13ed147aa1fb839758aaed52928f49df37e7192
sentinel known-sentinel mymaster 172.22.0.5 26379 33e6a688bbe5298b638ff8761e6c17a241cb4e9c
sentinel current-epoch 0

View File

@ -0,0 +1,22 @@
port 26379
sentinel myid c13ed147aa1fb839758aaed52928f49df37e7192
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.22.0.2 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
# sentinel monitor mymaster redis-0 6379 2
# sentinel down-after-milliseconds mymaster 5000
# sentinel failover-timeout mymaster 60000
# sentinel parallel-syncs mymaster 1
# Generated by CONFIG REWRITE
user default on nopass ~* +@all
dir "/data"
sentinel auth-pass mymaster a-very-complex-password-here
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 172.22.0.3 6379
sentinel known-replica mymaster 172.22.0.4 6379
sentinel known-sentinel mymaster 172.22.0.5 26379 33e6a688bbe5298b638ff8761e6c17a241cb4e9c
sentinel known-sentinel mymaster 172.22.0.6 26379 d12ca24ea1a9a0790c0afb72785e78dc63a50f7b
sentinel current-epoch 0

View File

@ -52,19 +52,24 @@ An example application that reads a key from Redis, increments it and writes it
```
cd .\storage\redis\applications\client\
docker build . -t aimvector/redis-client:v1.0.0
# start go dev environment
docker run -it -v ${PWD}:/go/src -w /go/src --net redis -p 80:80 aimvector/redis-client:v1.0.0
docker run -it -v ${PWD}:/go/src -w /go/src --net redis -p 80:80 golang:1.14-alpine
# go build client.go
go build client.go
# start the app
./client
# build the container
docker build . -t aimvector/redis-client:v1.0.0
```
Run our application
```
cd .\storage\redis\applications\client\
docker build . -t aimvector/redis-client:v1.0.0
docker run -it --net redis `
-e REDIS_HOST=redis `
-e REDIS_PORT=6379 `