Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
REDIS
charsyam@naver.com
Replication&HA
Replication
Master/Slave
Redis 는 M/S 리플리케이션 지원
Redis 는 M/M 은 지원하지 않음
Chained Replication
Master 1st Slave 2nd Slave
1st slave is master of
2nd slave
Replication
Master Slave
replicationCron
Health check
Replication
Master Slave
replicationCron
Health check
Replication
Master Slave
replicationCron
When master reruns,
Resync with Master
Replication
Master Slave
replicationCron
If master has no data.
Slave will has no data after
resyncing
slaveof no one
slaveof ip port 는 ip:port 서버의
slave로 자신을 설정하는 명령
- Master의 상태를 정기적으로 체크함
slaveof no one은 해당 설정을 해제함
Migration
Migration
새로운 Redis 서버를 Master로 설정할
경우.
- 기존 Master : A
- 새로운 Master : B
Migration 절차
1. B를 A의 Slave로 설정
- slaveof a_ip a_port
2. B의 slave_read_only 설정 제거
- config set slave_read_only no
3. Clien...
Monitoring
Redis Monitoring
1. CPU Usage
2. CPU Load
3. Network Tx/Rx
4. Commands count
5. Clients connections
6. memory
7. rss
Tools
1. Cacti Plugin
2. Redis Stat
- https://github.com/junegunn/redis-stat
3. Inhouse로 제작을 많이함…
HA
HA
Cache or Store?
중요한 Cache 인가?
다시 만드는데 비용이 비싼가?
HA 솔루션
1. Redis Sentinel
- 대규모에서 검증되지 않았음.
2. Zookeeper를 이용한 Inhouse 솔루션.
- Agent를 이용해 응답이 없으면 클라이언트에
서 ZooKeeper 이벤트를 받아서...
Redis Sentinel
Redis Sentinel
Redis에서 정식 지원
- 대규모에서 검증되지 않았음.
- 가끔 이상 동작함.
- Redis Sentinel은 재시작시 전부 내리고 다시
시작하는게 유리.
Redis 코드를 이용함.
Sentinel Conf
port 26379
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 30000
sentin...
Pub/Sub을 이용
redis 127.0.0.1:2003> psubscribe *
Reading messages... (press Ctrl-C to quit)
1) "pmessage"
2) "*"
3) "+switch...
In House Solution
Inhouse solution
대부분 비슷한 구조…
Inhouse solution
Application Servers
ZooKeeper
Redis Cluster
Manager
Redis
Shard-1
Redis
Shard-2
Redis
Shard-3
Health Chec...
Thank you.
Próxima SlideShare
Cargando en…5
×

Redis edu 4

  • Sé el primero en comentar

Redis edu 4

  1. 1. REDIS charsyam@naver.com Replication&HA
  2. 2. Replication
  3. 3. Master/Slave Redis 는 M/S 리플리케이션 지원 Redis 는 M/M 은 지원하지 않음
  4. 4. Chained Replication Master 1st Slave 2nd Slave 1st slave is master of 2nd slave
  5. 5. Replication Master Slave replicationCron Health check
  6. 6. Replication Master Slave replicationCron Health check
  7. 7. Replication Master Slave replicationCron When master reruns, Resync with Master
  8. 8. Replication Master Slave replicationCron If master has no data. Slave will has no data after resyncing
  9. 9. slaveof no one slaveof ip port 는 ip:port 서버의 slave로 자신을 설정하는 명령 - Master의 상태를 정기적으로 체크함 slaveof no one은 해당 설정을 해제함
  10. 10. Migration
  11. 11. Migration 새로운 Redis 서버를 Master로 설정할 경우. - 기존 Master : A - 새로운 Master : B
  12. 12. Migration 절차 1. B를 A의 Slave로 설정 - slaveof a_ip a_port 2. B의 slave_read_only 설정 제거 - config set slave_read_only no 3. Client에서 B를 바라보도록 수정. 4. B를 A의 Slave에서 제거 - slaveof no one
  13. 13. Monitoring
  14. 14. Redis Monitoring 1. CPU Usage 2. CPU Load 3. Network Tx/Rx 4. Commands count 5. Clients connections 6. memory 7. rss
  15. 15. Tools 1. Cacti Plugin 2. Redis Stat - https://github.com/junegunn/redis-stat 3. Inhouse로 제작을 많이함…
  16. 16. HA
  17. 17. HA Cache or Store? 중요한 Cache 인가? 다시 만드는데 비용이 비싼가?
  18. 18. HA 솔루션 1. Redis Sentinel - 대규모에서 검증되지 않았음. 2. Zookeeper를 이용한 Inhouse 솔루션. - Agent를 이용해 응답이 없으면 클라이언트에 서 ZooKeeper 이벤트를 받아서 Change
  19. 19. Redis Sentinel
  20. 20. Redis Sentinel Redis에서 정식 지원 - 대규모에서 검증되지 않았음. - 가끔 이상 동작함. - Redis Sentinel은 재시작시 전부 내리고 다시 시작하는게 유리. Redis 코드를 이용함.
  21. 21. Sentinel Conf port 26379 sentinel monitor mymaster 127.0.0.1 6379 1 sentinel down-after-milliseconds mymaster 30000 sentinel can-failover mymaster yes sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 900000
  22. 22. Pub/Sub을 이용 redis 127.0.0.1:2003> psubscribe * Reading messages... (press Ctrl-C to quit) 1) "pmessage" 2) "*" 3) "+switch-master" 4) "resque 127.0.0.1 1999 127.0.0.1 2002"
  23. 23. In House Solution
  24. 24. Inhouse solution 대부분 비슷한 구조…
  25. 25. Inhouse solution Application Servers ZooKeeper Redis Cluster Manager Redis Shard-1 Redis Shard-2 Redis Shard-3 Health Checking Event
  26. 26. Thank you.

×