-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
better sentinels support #5
base: main
Are you sure you want to change the base?
Conversation
environment: | ||
- REDIS_MASTER_HOST=redis | ||
- REDIS_MASTER_PASSWORD=password | ||
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=1000 | ||
- REDIS_SENTINEL_QUORUM=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
по умолчанию кворум 2, поправил на 1 чтобы еще один sentinel в композе не поднимать, сразу переключит мастера, когда он станет недоступным
тут правда есть проблема в том, что если мастера убить и им станет слейв, то после рестарта композа будут непонятки и придется убить вольюмы
поэтому я просто дропнул вольюмы, дискас
}) | ||
|
||
masters, err := sentinel.GetMasterAddrByName(context.Background(), cfg.RedisSentinelName).Result() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
такой подход наверное норм (с натяжкой) если сервис падает при недоступности редиса, но локально вроде не падает
возможно там у вас в кластере один хостнейм для всех сентинелов и всех нод редиса, и он как-то сам переключается, но тогда смысла в доступном снаружи сентинеле мало
volumes: | ||
- suggestion-redis:/bitnami/redis/data | ||
networks: | ||
- backend | ||
redis-slave: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
можно с запущенным приложением кильнуть мастер редиса и все само переключится
17d66f7
to
31f1920
Compare
AppMode string `env:"APP_MODE,default=prod"` | ||
|
||
RedisSentinelName string `env:"REDIS_SENTINEL_NAME,default='mymaster'"` | ||
RedisSentinelList string `env:"REDIS_SENTINEL_LIST"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{host}:{port},{host2}:{port2},...
31f1920
to
a5f268e
Compare
Поддержка нескольких sentinel'ов и использование redis-клиента в режиме, когда он сам будет переключаться между нодами
refs #4