Pusher 대 Pubnub 대 오픈 소스 Socket.io / SignalR.net / Faye / jWebSocket
현재 주로 웹 클라이언트와 서버 간의 양방향 실시간 통신을 가능하게하기 위해 Pusher와 PubNub를 평가하고 있습니다. Pusher의 문서가 더 나은 것처럼 보이며 PubNub의 확장 성과 신뢰성은 분명히 그들에게 강점입니다.
그러나 예산을 관리하면서 Pusher 및 PubNub 비용이 우리에게 문제가 될 수 있다는 우려가 있으므로 오픈 소스 대안 중 하나를 사용하는 것을 고려하고 있습니다. 저는 주로 Socket.io, Faye 및 jWebSocket.
그래도 서비스를 직접 실행해도 내 걱정이 있습니다.
- 실제로 전에 Socket.io 또는 기타 오픈 소스 솔루션을 여러 서버로 확장 한 사람이 있습니까? PubNub는 초당 100 만 개의 메시지 를 처리한다고 주장합니다 ! , 전혀 작동한다면 Socket.io가 헤아릴 수없는 수의 서버 없이도 그렇게 할 수 있을지 의심 스럽습니다.
- 유료 서비스에 오픈 소스 솔루션을 사용하면 놓칠 수있는 기능이 있습니까?
- 어쨌든 내 서버가 AWS에 있다면 지연 시간이 정말 문제가 될까요? PubNub는 여러 위치에 있으므로 메시지를 미국에서 일본으로 보내야하는 경우 일본에 서버가 있으면 대기 시간을 줄이는 데 도움이되지 않을 것으로 예상됩니다.
조언 해주셔서 감사합니다.
Node.js를 사용하는 Faye는 설정하기가 매우 쉬웠으며 처음에는 테스트에서 매우 잘 수행되었습니다. 그러나 내 앱의로드가 약 3000 개의 열린 연결로 초당 약 10 개의 요청이지만 라이브 node.js로 전환했을 때 CPU 사용량은 100 %로 고정되었습니다 (내 상자에서 8 개 중 1 개 코어 사용 가능). 나는 이것에 약간 실망했고 더 많은 것을 기대하고 있었다.
나는 redis를 사용하거나 다른 포트에서 노드의 두 개 이상의 인스턴스를 실행 한 다음 애플리케이션 끝에서 부하를 분할하는 것을 고려했지만 PubNub의 가격을 보면이 모든 것을 그들에게 오프로드하는 것이 훨씬 쉬워 보였습니다.
Pusher와 PubNub를 모두 시도한 후 PubNub가 저에게도 저렴하고 지연 시간이 훨씬 짧다는 것을 알았습니다 (싱가포르에서 호스팅되고 Pusher가 저에게 ~ 500ms 인 동안 PubNub는 저에게 애플리케이션에서 ~ 250ms 왕복이었습니다). 그러나 미국에서 호스팅되는 경우 그 차이는 훨씬 적을 것입니다.
나는 또한 Ape-Server를 보았지만 게시 / 구독 모델을 설정하는 데 좋은 자습서 / 문서를 찾지 못해서 건너 뛰었습니다. 그러나 아마도 당신은 나보다 똑똑하고 더 나은 경험을 가질 것입니다 :)
'Nice programing' 카테고리의 다른 글
subList () 사용 방법 (0) | 2020.10.31 |
---|---|
통합 테스트 Hive 작업 (0) | 2020.10.30 |
서브 클래 싱 할 수없는 클래스는 무엇입니까? (0) | 2020.10.30 |
Swift에서 가져 오기 가능한 모듈을 어떻게 생성합니까? (0) | 2020.10.30 |
AttributeSet은 무엇이며 어떻게 사용할 수 있습니까? (0) | 2020.10.30 |