큰 지연 (시간)이 허용되는 경우 푸시 대 폴


10

오늘날 폴링은 나쁜 습관이며 원격 서버에서 지속적으로 데이터를 수신해야하는 모바일 애플리케이션을 개발할 때 추진하는 길은 상식적인 것 같습니다.

모든 주요 모바일 상점은 푸시 알림 서비스 버전을 제공합니다.

그러나 나는이 가정이 어느 정도 유효한지 궁금합니다. 즉, 하루에 몇 번만 원격 서버를 폴링하고 "알림"을 즉시 전달할 필요가없는 (큰 지연이 허용되는) 응용 프로그램이 있다면 좋은 결정이 될 것입니다. 데이터를 푸시하지 않고 폴링합니다.

미리 감사드립니다!


1
필자는 실제로 모바일 푸시 메커니즘에 익숙하지 않지만 푸시 메커니즘을 사용하면 전원 끄기 / 절전 시나리오 처리와 같은 두통을 줄일 수 있는지 궁금합니다. 이것이 데스크톱 / 웹 애플리케이션 인 경우 폴링은 괜찮습니다. 푸시는 일반적으로 웹 서버에서 연결을 열어 두는 것과 관련이 있으므로 데스크톱 / 브라우저에서 폴링의 또 다른 이점이지만 모바일 응용 프로그램이므로 이러한 대체 푸시 메커니즘을 사용할 수 있으므로 대답이 다를 수 있습니다.
윌리 박사의 견습생

답변:


14

실시간이 필요하지 않은 경우 항상 폴링이 허용됩니다. 스스로에게 물어봐야 할 것은 왜 다른 것을 사용하지 않습니까?

푸시 서비스의 목적은 몇 가지입니다. 푸시가 브로드 캐스트이고 타사 제공 업체가 브로드 캐스트를 수행하는 경우 처리하는 트래픽이 훨씬 적을 수 있습니다. 이렇게하면 하나의 메시지를 보내고 수천 명의 메시지를받을 수 있습니다. 그러나 알다시피 푸시 서비스의 가장 큰 장점은 즉시 업데이트가 소비자에게 도달 할 수있는 실시간 특성입니다. 그러나 푸시를 할 때는 브로드 캐스트 할 때 대용량 데이터 세트를 푸시하고 싶지 않으며, 사용하는 타사 푸시 서비스 (자신을 사용하는 경우)의 자비에 달려 있습니다.

폴링의 목적은 데이터 차이를 주기적으로 확인하는 것입니다. 여기서 업데이트 기간에는 특정 기간까지 부정확 한 SLA가 허용됩니다. 폴링은 모든 클라이언트가 주기적으로 데이터를 요청하도록 요구합니다. 즉, 실행중인 모든 클라이언트에 대해 연결이 요청되고 해당 데이터를 폴러에게 제공하기 위해 해당 데이터를 정확하게 모니터링 할 수있는 라이브 서비스가 필요합니다. 정확한 데이터를 제공한다는 것은 일부 데이터 지속성을 의미하며 디스크 및 유지 관리 시간이 소요됩니다.

따라서 네트워크 트래픽 또는 서비스 유지 관리에 대한 우려가있는 경우 (요청 인증 / 권한 부여, 디스크 공간을 차지하는 로깅, 서비스 유지에 필요한 모든 일반 요구 사항을 의미 함) 클라이언트가 강제로 폴링하고 싶지 않습니다. 그러나 유스 케이스에 특히 큰 데이터 세트를 전송해야하거나 SLA 또는 요금뿐만 아니라 시간이 변경 될 수있는 써드 파티 API에 테 더링 할 수없는 경우, 자체 재배 폴링 시스템이 적용 가능하지만 유지 보수가 가능합니다. 오버 헤드가 훨씬 더 클 수 있습니다. 또는 이미 서비스를 실행 중이고 데이터가 지속되어 폴링이 이미 내부 인프라에 약간 추가되어 폴링이 더 바람직합니다.

중심점까지는 당신을 옳게 만듭니다. 실시간이 필요한 경우 폴링은 수행되지 않습니다. 그렇지 않은 경우 클라이언트주기에 데이터를 주기적으로 곱하는 방법과 데이터 세트 크기를 곱한 방법대한 계산을 수행 하여 네트워크 비용이 가치가 있는지 또는 푸시 서비스인지 결정해야합니다. 2 단계에서 대규모 데이터 세트를 요청하도록하는 변경 이벤트를 항상 푸시 할 수있는 경우에 더 좋습니다 (이 단계의 원자 성은 데이터의 중요도에 따라주의해야 할 수도 있음).


3

귀하의 경우에는 폴링이 좋을 것입니다. 또한 다른 시스템 (또는 여러 플랫폼의 여러 시스템) 과 통합 할 필요가 없습니다 .

그러나 장치 관련 문제가 문제 일 수 있습니다. 앱이 기기의 중앙에 있고 중앙에 있지 않을 때 안정적으로 폴링 할 수 있습니까? (문제가 될 수도 있고 아닐 수도 있습니다). 이를 수행하는 능력은 앱 개발에 사용하는 기술에 따라 달라질 수 있습니다.


내장 타이머를 사용하여 앱이 서버가 "활성"이 아닌 경우에도 서버를 폴링하도록 할 계획입니다. 나는 안드로이드에 그 방법을 알고 난 아이폰과 WindowsPhones는 동일한 기능을 제공하는 희망)
토마스 CG 드 헤나

2

물론이야. 또한 더 쉽습니다 (모든 사람이 같은 일정을 잡아 당기면 당기는 스파이크에주의하십시오).

즉, 모바일 사용자의 기대를 고려할 때 '큰 지연이 허용됩니다'라는 가정에 도전합니다. ( '실시간으로지도가 업데이트되지 않습니다! 받아 들일 수 없습니다!'-또는- '날씨 서비스라는 것을 알고 있지만 내일 예측이 화창해질 때까지 5 초마다 새로 고침 버튼을 계속 누르고 있습니다!')


모든 사람이 동시에 폴링하지 못하도록하는 좋은 점. 타이머를 임의로 설정하면 트릭을 수행 할 것입니다!
Thomas CG de Vilhena
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.