5. 1 Scalability
When you add twice as many servers, are you twice as fast
(or have twice the capacity)?
- LiveJournal
https://www.usenix.org/legacy/events/usenix07/tech/slides/fitzpatrick.pdf
Replacing all components of a car while driving it at
100mph.
- Instagram
https://www.unboundid.com/blog/2012/06/27/scaling-at-100mph
32. 5. 더 고민해야 할 부분
- 공유데이터관리
- 모듈 기반 어플리케이션
- 대용량 Connection 관리
33. 5.1 공유 데이터 관리
WAS$의$Cluster$는$장애$/$성능$저하의$주된$원인$!
Tomcat$의$session$replication$:$DeltaManager$or$BackupManager
해결책$중$하나$-$NAVER$의$TripleS$(Shared$Session$System)
http://helloworld.naver.com/helloworld/233847
?
34. 5.1 공유 데이터 관리
를"활용한"공유"데이터"(session)"공유하기
ZooKeeper™
Redis Cluster Manager
create/delete
redis"node
redis"서버"목록을"Ring"에
주가하고"동기화"한다.
watching
heartbeat
redis"상태"체크!!
.".".
Reverse"Proxy
server
Consistent"Hashing
shard 1
.".".
get"/"set"session"datas
shard 2
.".".
<"servers">
shard 3
35. 5.1 공유 데이터 관리
공유하지%않는%것%(shared%nothing)%이%가장%좋은%방법
!!
<%servers%>
Reverse%Proxy
server
체팅방명(키)이%hash%key
HASH%(“체팅방%A”)
HASH%(“체팅방%B”)
Consistent%Hashing
이%서비스%서버에%“체팅방%A”%에%입장한
모든%접속자%목록은%Local%메모리에%저
장하고%있다.