2012-06-27 2 views
0

모바일 앱을 만들 계획입니다. 사용자에게 새로운 메시지가 있는지 확인하기 위해 5 초마다 자동으로 웹 서비스를 호출합니다. 10,000 명의 사용자가 동시에이 앱을 사용한다고 가정 해보십시오. 즉, 웹 서비스는 매초 2000 건의 요청을받습니다 (즉, 초당 데이터베이스에 2000 건의 조회가 발생 함).초당 10000 통화의 웹 서비스

이 요청은 어떻게 처리합니까?
데이터베이스를 최적화하는 방법은 무엇입니까?

답변

1

폴링은 실제로 푸시 알림을 찾는 것이 좋습니다. 클라이언트 측에서는 서버 측에서 훨씬 적은 자원을 필요로합니다.

서비스에 적합한 푸시 기술을 주실 수있는 방법을 찾아야합니다. 어쩌면 당신은 XMPP 같은 것을 사용할 수 있습니다. WhatsApp은이를 사용합니다 (바이너리 형식으로 데이터를 전송하더라도).

많은 연결을 처리하려면 브로커가있는 클러스터가 필요할 수 있습니다. 이것은 매우 일반적인 시나리오입니다. 빨리 물건을 더 찾을 수있을 것입니다. 서버 구성에 대한 정보를 추가하는 것을 잊었습니다.

+0

많은 조언을 주셔서 감사합니다. 이미 로컬 PC에서 OpenFire 서버를 사용해 보았습니다. 잘 작동합니다. IIS 서버와 MS SQL 데이터베이스를 사용할 계획입니다. 오후 8시 30 분 P.S. 질문이 어리석은 경우에는 미안합니다. 나는이 일에 새로운 사람입니다. 그러나 IIS 및 MS-SQL 서버와 함께 동일한 컴퓨터에서 XMPP 서버를 실행할 수 있습니까? 좋은 습관입니까? – Augis

+0

@Augis 이것은 바보 같은 질문이 아닙니다. 그냥 정상적인 초급 질문. 물론 하나의 서버에 둘 이상의 서비스를 설치할 수 있습니다. 그런 시스템을위한 클러스터 환경을 설정하지 않았기 때문에 좋은 방법인지는 말할 수 없습니다. – rekire

+1

모바일 플랫폼이란 무엇입니까? 안드로이드에 대한 선호하는 방법은 밀어 넣기 알림을 위해 C2DM을 사용하는 것입니다. – Ibrahim