메시징 서비스 고려사항메시징 서비스 고려사항

Posted at 2011. 9. 29. 10:53 | Posted in Issue
삼성 ChatOn 서비스의 고민거리들은 동일 서비스를 제공할 모든 업체에서 고민할 내용들인 것 같다.
아래 PPT는 매우 잘 정리되어 있으며 몇가지만 정리해본다.

- 모바일 네트워크 친화적인 글로벌 메시징 서비스: http://www.slideshare.net/jaehyun/chaton
- 클라우드 인프라 기반 서비스 개발: http://www.slideshare.net/jaehyun/chaton-9444572
 
* 모바일 메시징 시장 변화
 [PIN번호 기반: 블랙베리 유저끼리] 2003~2010
    --> [핸드폰 번호 기반: 왓츠앱, 카톡] 2010~2011
        --> [Device친화적, 다양한 서비스 연동: iMessage, ChatOn] 2011
 
* 기술적 제약 사항
 - Push Channel 유지에 따른 제약 사항
   (1) 잦은 연결유지 신호 전송 및 재연결로 인한 배터리 소모에 악영향
   (2) 연결유지 신호 간격이 길 경우, 사업자 방화벽에서 연결 해지
   (3) TCP 로 연결을 유지할 경우 Zombie Connection 발생할 수 있음.
 -  글로벌 사업자 지원에 따른 제약 사항
   (1) 사업자 별로 다른 연결 Timeout 값
   (2) 잦은 연결 유지 신호로 사업자 망 과부하 발생
   (3) 특정 서버 장애 시 서버에 순간적인 Storm 메시지 동시 전달. 사업자 망 과부하 발생
   (4) 단말 별로 보내는 연결 유지 신호들의 분포도가 주기적으로 몰릴 경우 사업자 망 과부하 발생
 - 글로벌 국가/지역에 따른 제약 사항
   (1) 사용자 위치에 따라 최적의 서비스가 가능한 IDC/Cloud의 서버에 연결되어야 함
   (2) 국가별 상이한 보안/법률 정책 적용 요구
 - 단말 증가에 따른 용량 제약 사항
   (1) 전 세계 수억 단말에 대한 동시 세션 유지 필요 -> 고성능, 고확장성 서버 인프라 필요
   (2) 저비용의 서버 인프라 구축 또는 대응되는 수익 모델 없을 경우 비용문제 발생

* 해결방법
 - Push Server와 연결 유지 간격에 대한 최적화
   - 기술 장벽: {연결 안정성 보장}, {사업자별 라우터 Timeout}, {망에 대한 트래픽}, {배터리 소모 최소화}
   - 사업자별 조사/검증으로 사업자 별로 최적화
   - 예상치 못한 상황 대비 학습 알고리즘 적용
 - Retransmission 및 Ping 주기에 대한 동적 조정
   - 서버에 동시에 재연결이 요청되지 않도록 각 단말별 재요청 시간 동적 조정
   - Ping 메시지가 순간적으로 몰리지 않도록 각 단말별 재전송 시간에 대한 동적 조정 (분포도는 서버에서 확인 가능할 것이다)
 - 서버의 지역/국가 분산 배치 및 유연한 보안 정책 적용
 - 오픈소스 및 클라이드 기반 구축 (저비용/고확장성 서버 구축)
   - Auto-Scaling 가능한 인프라 확보
   - 서버 증가에 따라 솔루현 라이센스 비용이 비례하여 증가하지 않도록 함.
   - OLD { (상용 메시지 솔루션), (High-End DB), (Typical IDC) }
        --> NEW { (오픈소스 메시징, 분산 서버), (Low-End DB or NoSQL), (자체 Private Cloud or 외부 Public Cloud 활용) }
 
* 4G 시대의 메시징 서비스
 - 실시간 멀티미디어 및 컴버전스 서비스 강화 예상
 - Real-Time + Multimedia + Convergence

* ChatON 서비스 인프라 요구사항
  - Global IDC
  - 대용량, 고성능 서비스 (10억 이상의 단말 지원)
  - 저비용 구조 (무료 서비스)
  - Auto-Scaling (초기 사용량 예측이 어려움)
  - 무정지, Response Time 보장 (안정적인 QoS) 

* 기존 IDC 인프라 사용시 문제점
  - Global IDC 사용
  - 고성능 서버 사용
  - 단위 성능당 비용이 높음
  - 폭주시 즉각적인 대응 불가(장애)
  - 충분한 H/W 확보 필요

* Cloud 인프라를 활용하여 구축하는 방안
  - Global Cloud 활용
  - 대용량 서버 사용
  - 단위 성능당 비용이 낮음
  - Auto-Scaling
  - 지역별 DR(Disaster Recovery), HA(High Availability) 구조로 무정지 인프라 구축 
//

social service..social service..

Posted at 2011. 9. 22. 20:45 | Posted in Issue
2011-09-22 15:30 송창현 http://developers.facebook.com/socialdesign/ 
2011-09-22 15:31 송창현 Product design on social service 
2011-09-22 15:31 송창현 Community, Conversations, and identity 
2011-09-22 15:31 송창현 자신의 self-expression 
2011-09-22 15:31 송창현 그리고 친구들과 connect and share 
2011-09-22 15:32 송창현 그리고 그 두가지위에 만들어진 community를 친근하면서 relevant하고 trusted 한 UX 로 접근하게 만든다 
2011-09-22 15:33 송창현 3가지의 기초 service value로 만들어졌다네요 
2011-09-22 15:33 송창현 http://developers.facebook.com/socialdesign/Identity/ 
2011-09-22 15:33 송창현 Identiy: self-expression에 관한 이야기 
2011-09-22 15:34 송창현 우리가 말하는 주소록이 아닌 
2011-09-22 15:34 송창현 context-relevant 
2011-09-22 15:34 송창현 예) 내가 만든 요리의 receipe 
2011-09-22 15:35 송창현 내가 뛴 마라톤의 거리 
2011-09-22 15:35 송창현 등등 
2011-09-22 15:35 송창현 http://developers.facebook.com/socialdesign/conversation/ 
2011-09-22 15:35 송창현 Listening and Speaking 
2011-09-22 15:35 송창현 위의 두가지를 이용한 
2011-09-22 15:36 송창현 http://developers.facebook.com/socialdesign/personalize/ 
2011-09-22 15:36 송창현 Recommendation, 친구연결 등등 
2011-09-22 15:37 송창현 와 얼른 주워담아 우리 공부합시다 
2011-09-22 15:37 송창현 social 을 잘 이해 못하는 우리가 배워야 할 것 같네요 

//