2014-09-09 5 views
1

파이썬에서 web.py을 사용하여 실시간 웹 채팅 응용 프로그램을 만들고 싶습니다. 문제는 그러한 앱을 '설계'하거나 디자인하는 방법을 모르겠다는 것입니다. 응용 프로그램에실시간 웹 채팅 앱의 아키텍처

  • 사용자가 로그인 :

    나는이 응용 프로그램을 구현하기 위해 생각하고 방법은 다음과 같다.

  • 앱은 새 메시지를 푸시하는 푸시 서비스와 새 메시지를 저장하는 대기열 서비스가있는 컨트롤러에 연결합니다.
  • 사용자가 메시지를 보내면 앱은 ajax 호출이있는 메시지를 컨트롤러에 보내고 컨트롤러는 메시지를 대기열에 저장합니다.
  • 컨트롤러는 대기열의 메시지를 푸시 서비스로 대상 사용자에게 보냅니다.

그러나 저는 여기에 많은 아약스 요청이 보내지는 것을 보았 기 때문에 이것은 매우 열악한 디자인이라고 봅니다. 나는 그러한 서비스를위한 더 나은 디자인이나 아키텍처가 있는지 정말로 모른다. 실시간 채팅 앱의 올바른 디자인을 가르쳐주세요.

+1

http://www.html5rocks.com/en/tutorials/websockets/basics/ – corn3lius

답변

2

알렉스,

난 내 자신의 메시징 응용 프로그램을 빌드 할 때이, 나는 최근에 그것에 대해 이해할 수있는 질문을 생각

. 했다

 User registration 
     User authentication 
     Adding a new friend by username 
     Approving a friend 
     Messaging with a friend in list (Of course) 
     Shows online and offline users 
     Runs a background service in order to get messages even when the application is closed. 
     Uses notification area when a new message is received. 
     Quiting the application(kills the background service) 

몇 가지 내가이 응용 프로그램을 구축 한 후 실현 : 이것은 내가 응용 프로그램의 기능을 고장 방법입니다

백 엔드 아키텍처이었다
  1. 간단한 CRUD 애플리케이션의 단순한 혼합물 pub/sub 기능. pub/sub 시스템 here에서 더 많은 것을 읽을 수 있습니다. Here은 Ruby on Rails를 사용하여 작성된 간단한 채팅 응용 프로그램입니다. 참조 용으로 볼 수 있습니다. 매우 잘 설계되었습니다.
  2. 위의 기능에 나와있는 마지막 단계는이 앱의 시작 부분에서 생각한 것처럼 끝까지 수행해야합니다. 처음부터 잘 설계한다면 최종 단계가 정착됩니다! :-)
  3. 동시성에 대해 배우고 정말로 멋진 것을하고 싶다면 here이라는 프레임 워크를 구현하는 것이 좋습니다.

질문이 있으시면 알려주세요.

관련 문제