mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-06 17:01:30 +00:00
redis wip
This commit is contained in:
parent
89c82195fc
commit
2b14f61e87
84
storage/redis/clustering/readme.md
Normal file
84
storage/redis/clustering/readme.md
Normal 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
|
||||
```
|
1832
storage/redis/clustering/redis-0/redis.conf
Normal file
1832
storage/redis/clustering/redis-0/redis.conf
Normal file
File diff suppressed because it is too large
Load Diff
1834
storage/redis/clustering/redis-1/redis.conf
Normal file
1834
storage/redis/clustering/redis-1/redis.conf
Normal file
File diff suppressed because it is too large
Load Diff
1834
storage/redis/clustering/redis-2/redis.conf
Normal file
1834
storage/redis/clustering/redis-2/redis.conf
Normal file
File diff suppressed because it is too large
Load Diff
21
storage/redis/clustering/sentinel-0/sentinel.conf
Normal file
21
storage/redis/clustering/sentinel-0/sentinel.conf
Normal 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
|
22
storage/redis/clustering/sentinel-1/sentinel.conf
Normal file
22
storage/redis/clustering/sentinel-1/sentinel.conf
Normal 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
|
22
storage/redis/clustering/sentinel-2/sentinel.conf
Normal file
22
storage/redis/clustering/sentinel-2/sentinel.conf
Normal 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
|
@ -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 `
|
||||
|
Loading…
x
Reference in New Issue
Block a user