3. 비트윈
•
커플들을 위한 모바일 서비스
•
아이폰, 안드로이드 어플리케이션 제공
•
채팅, 기념일, 사진, 메모, 캘린더 기능 제공
•
전 세계에서 600만+ 다운로드 (as of 2012.02)
•
http://between.us
•
http://engineering.vcnc.co.kr
4. 비트윈 서버 구조
•
Java로 작성되어 있음
•
데이터 저장소로 HBase를 사용함
•
Haeinsa를 통해 HBase에 접근시 ACID 트랜잭션 이용
•
Thrift 서비스를 Netty위에 올려서 서비스함
•
채팅의 경우, Thrift를 이용해 클라이언트와 통신함
•
AWS Tokyo리전에서 운영되고 있음
48. Availability Zone 1
ELB
Machine
EC2
Multi-AZ 구성을 할때에는2인스턴스 갯수를 잘 맞춰야한다. 갯
Availability Zone
한 쪽 AZ에 인스턴스
ELB
Machine
수가 적으면 트래픽이 불
균형하게 분배 된다.
EC2
각 AZ에 같은 수의 EC2
를 붙여놓는 것이 좋다.
EC2
EC2
53. ELB
Machine
전체 시스템을 VPC로 옮긴 후
가끔씩 채팅 서버 중 한 대의 사용
자들이 연결을 맺지 못하는 발생함
아무리 문제를 찾아봐도
원인이 나오지 않아 AWS
Support에 도움을 청함
EC2
54. ELB
Machine
“From the analysis it
appears that once the ELB
tries to establish more than
19k connections the
backend instances are not
able to handle additional
connections and this cause
a health-check failure.”
EC2
55. ELB
Machine
“From the analysis it
appears that once the ELB
tries to establish more than
19k connections the
backend instances are not
able to handle additional
connections and this cause
a health-check failure.”
EC2
하지만 테스트 해보니 우리 서버는 19K
이상은 충분히 버틸 수 있음…
그렇다면 ELB문제 아닐까?
58. ELB
Machine
EC2
Route53
ELB
Machine
“I see some activity on the
ELB from our side that may
have some influence on the
issue you are experiencing.”
“We made some
adjustments to our ELB in
order to better handle
requests directed to your
backend instances.”
61. 정리하기
•
ELB는 좋다.
•
ELB는 내부적으로 Scale-Out을 한다.
•
ELB도 Scale-Out하려면 시간이 필요하다.
•
Multi-AZ 구성일 때 ELB의 동작에 주의하자!
•
각 AZ별 EC2의 숫자는 같아야 한다.
•
ELB도 나무에서 떨어질 때가 있다.
76. 사용자
EBS-Optimized 인스턴스는 EBS
와의 통신에만 사용하는 이더넷 카드
가 하나 더 꼽혀 있다!
인터넷
성능이 중요할때에는 EBS-Optimized 옵션을 이용하자.
EC2
EC2
EC2
EBS
EBS
EBS
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
79. EC2
한 EC2 인스턴스에 여러 EBS를 달아 두고
Striping 구성을 통해 처리량(RAID0)이나
안정성(RAID1)을 더 확보할 수 있다.
EBS
EC2
EBS
EC2
EBS
http://www.slideshare.net/AmazonWebServices/ebs-webinarfinal
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/raid-config.html
80. EBS가 처음 만들어지면 성능이 다소 떨어질 수 있다.
Pre-wram을 하여 성능을 균일하게 확보 가능.
EC2
EC2
EC2
EBS
EBS
EBS
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html
81. EBS가 처음 만들어지면 성능이 다소 떨어질 수 있다.
Pre-wram을 하여 성능을 균일하게 확보 가능.
다양한 방법을 통해 EBS의 성능을 확보할 수 있다.
EC2
EC2
EC2
EBS
EBS
EBS
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html
96. HDFS multiple-rack 설정을 통해
데이터 복제 정책을 정할 수 있다.
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
97. Ephemeral을 사용하는 rack에 2벌을 저장하고
EBS를 사용하는 rack에 1벌을 저장하도록 설정
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
98. 어떤 데이터든 EBS에는
최소한 한 벌이 저장되게 된다.
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
99. 어떤 데이터든 EBS에는
최소한 한 벌이 저장되게 된다.
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EC2
EBS를 굳이 사용하지 않아도 되는 환경이면 쓰지 말자.
100. 정리하기
•
EBS는 좋다.
•
EC2는 공유 네트워크를 통해 EBS에 접근한다.
•
EBS의 성능은 외부와 통신 트래픽에 영향을 받을 수 있다.
•
EBS의 성능을 확보하기 위한 방법들은 많다.
•
EC2가 멀쩡하더라도 EBS는 문제가 있을 수 있다.
•
EBS를 최대한 사용하지 않는 것도 방법이다.