20. Zookeeper #1
Redis #1
Redis #2
Zookeeper
Current Redis: Redis #1
Server #1
Server #2
Server #3
User
or
Event
21. Zookeeper #2
Redis #1
Redis #2
Zookeeper
Current Redis: Redis #2
Server #1
Server #2
Server #3
Change Zookeeper value User
or
Event
22. Zookeeper #3
Redis #1
Redis #2
Zookeeper
Current Redis: Redis #2
Server #1
Server #2
Server #3
Event : Zookeeper send
Current Redis is changed
User
or
Event
23. Zookeeper #4
Redis #1
Redis #2
Zookeeper
Current Redis: Redis #2
Server #1
Server #2
Server #3
Zookeeper 로 부터읽어감
User
or
Event
24. Spring Config #1
Redis #1
Redis #2
Spring Config
Current Redis: Redis #1
Server #1
Server #2
Server #3
User
25. Spring Config #2
Redis #1
Redis #2
Spring Config
Current Redis: Redis #2
Server #1
Server #2
Server #3
User
Change Spring Config value
26. Spring Config #3
Redis #1
Redis #2
Spring Config
Current Redis: Redis #2
Server #1
Server #2
Server #3
User
Event(User Send)
Current Redis is changed
27. Spring Config #4
Redis #1
Redis #2
Spring Config
Current Redis: Redis #2
Server #1
Server #2
Server #3
User
Event(User Send)
Current Redis is changed
30. DNS or VIP #1
Redis #1
Redis #2
Server #1
Server #2
Server #3
Connect to :
account-service-redis.service.net.
account-service-redis.service.net
31. DNS or VIP #2
Redis #2
Server #1
Server #2
Server #3
Connect to :
account-service-redis.service.net. Redis #1 장애
32. DNS or VIP #3
Redis #2
Server #1
Server #2
Server #3
Connect to :
account-service-redis.service.net.
DNS나 VIP를 Redis #2가
account-service-redis.service.net 을 가지도록 전환
account-service-redis.service.net
33. DNS or VIP #4
Redis #2
Server #1
Server #2
Server #3
Connect to :
account-service-redis.service.net.
클라이언트 측면에서 바뀌는 것이 하나도 없음.
account-service-redis.service.net
35. Monitoring Factors
1. 메모리 RSS(Resident set size) 가 used memory 보다
중요.
2. CPU 사용률도 중요함.
3. Swap 이 생기면 안됨.
36. Current Connection 수의 변화
1. 계속 많은 수가 Connection 을 맺고 끊으면 성능에 큰
영향을 미침(한번 맺고, 계속 재활용해야함)
2. 반대로, CPU 사용량이 높거나 해서 timeout으로
컨넥션이 자주 바뀌는 경우도 발생
a. 2번으로 인해서 1번이 초래해서 성능이 더
안좋아지는 경우도 자주 발생
37. CPU 사용률이 높다면(1)
1. 정말 트래픽이 많은 경우
a. CPU에 영향을 받으므로 더 빠른 CPU를 쓰는 것도
방법
2. 특정 key 연산등으로 hot key가 발생하는 경우
a. hot key가 성능을 떨어뜨리는 것이 아니라,
과도하게 해당 키의 서버에 과도하게 트래픽이
몰리게 되는 경우
38. CPU 사용률이 높다면(2)
1. Monitor 명령을 사용하여 특정키의 패턴이 많은지
샘플링
2. CPU 사용량이 너무 높으면 도리어 장애를 일으키는
요인이 되기도 함.