문제

채팅 애플리케이션을 구축하기위한 최고의 스택에 대해서는 확신이 없습니다. 현재 저는 두 가지 주요 옵션을 생각하고 있습니다.

  • 페이스 북 토네이도
    • 단점 : 기본 채팅 프로토콜 XMPP를 사용하지 않지만 pubsubhubbub
    • 장점 : 개발을위한 단순성 (Webserver + Webframework); Pubsubhubbub도 XMPP보다 프로토콜로 간단 해 보입니다. 그리고 나는 파이썬을 알고 있습니다
  • XMPP + BOSCH, 펀 자브, Ejabberd
    • 단점 : Erlang을 모릅니다. 전반적으로 개발하기가 조금 더 어려워 보입니다
    • 장점 : XMPP 프로토콜을 사용합니다

채팅 앱에는 다음이 필요합니다.

  • 개인 메시지
  • 공공 실
  • 개인 실
  • 객실을위한 채팅 기록 (영원히, 마지막 N 메시지)
  • HTML 임베딩
  • 채팅방에서 URL

두 옵션 모두 확장 가능한 것처럼 보이므로 실제로 걱정이 아닙니다 (Amazon의 EC2에서 앱을 실행할 생각입니다). 토네이도를 사용하여 XMPP 서버를 구축하는 프로젝트가 있다는 것을 알고 있지만 생산 사용 준비가되지 않았으며 마감일이 크지 않습니다. 기본적으로 내 주요 걱정은 발달의 용이성과 나중에 PubSubhubBub을 사용하여 채팅 앱을 개발하는 데 도움이되지만 PubSubHubBub가 REST 교체 비누로 XMPP를 대체 할 수있는 곳을 읽었습니다. 어떻게 생각하십니까?

도움이 되었습니까?

해결책

XMPP로 이동하십시오.

상자 밖에서 Ejabberd는 모든 요구 사항을 지원합니다. Erlang을보고 Ejabberd에 대한 사용자 정의 모듈을 작성할 필요가 없습니다. 그리고 Strophejs와 함께 브라우저의 XMPP (분명히하고있는 것)는 훌륭합니다.

XMPP를 대체하는 PubSubhubBub에 대한 마지막 질문은 계산하지 마십시오. XMPP는 클라이언트와 서버에서 모두 10 년 이상 오래된 오픈 소스 및 독점적 인 상호 운용 가능한 구현이며 우아하여 사라지지 않을 것입니다.

그리고 XMPP가 만든 채팅 응용 프로그램을 개발하고 있습니다.

다른 팁

Facebook Tornao는 PubSubHubBub를 전혀 사용하지 않습니다!

XMPP로 이동하십시오. 원하는대로 설계되었습니다. 토네이도는 구체적으로 설계되지 않았지만 일반적으로 긴 폴링 요청을 위해 설계되었습니다.

펀 자브를 사용할 필요가 없으며, ejabbed http-bind 모듈은 지금 꽤 좋은 일을합니다. 또한 Apache를 사용하는 웹 앱을 작성할 때 C를 배울 필요가없는 것과 같은 방식으로 Erlang을 배울 필요가 없습니다. :) Aristochat. 플레이해야 할 유일한 것은 XMPP 서버 및 채팅방의 구성과 클라이언트 측 (브라우저)의 JavaScript의 구성입니다.

XMPP를 통해 연합이 필요하지 않지만 상자의 확장 성과 함께 프로토 타입을 신속하게 배포하려면 Lift Web Framework의 예제를 살펴보십시오. 코드의 한 페이지에 서버를 채팅합니다.

Pubsubhubbub (푸시)은 처음부터 채팅 앱을위한 적이 없었습니다. 때때로 그것은 "웹을위한 IM"이라고합니다. 이 슬라이드를 살펴 보는 것이 좋습니다. IGRigorik의 실시간 웹에 대한 실시간 루비

문제는 실제로 얼마나 실시간을 얻고 싶은가입니다. 속도를 원한다면 XMPP가 최상의 옵션입니다. (500ms) 푸시는 피드에 따라 달라지고 릴레이 된 방법에 따라 다릅니다. 컨텐츠가 가입자에게 도달하기 전에 총 4 개의 네트워크 홉을 누르십시오.

더 큰 문제는 푸시가 HTTP 게시물에 의존한다는 것입니다. 푸시를 기반으로 채팅 앱을 설계하고 나중에 말하면 다른 장치 나 데스크탑 응용 프로그램으로도 사용할 수 있도록 XMPP를 사용하여 동일한 콘텐츠를 전달해야합니다. 당신이 잃을 다른 곳은 채팅 앱 사용자가 선택한 다른 IM에서 로그인하기가 매우 어려울 것입니다.

WebSocket과 함께 REST API를 사용하여 게시자/가입자 아키텍처를 구현할 수 있습니다.

대기 그리고 스와그 소켓 좋은 자바 프레임 워크입니다. 저지 API를 쉬고이를 달성하십시오.

Atmospehre의 제작자 Jfarcand의 블로그에는 하나가 있습니다. 채팅 응용 프로그램의 예 이 기술로 구축되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top