Sondowanie jest zawsze akceptowalne, gdy czas rzeczywisty nie jest koniecznością. Musisz zadać sobie pytanie, dlaczego miałbyś używać jednego zamiast drugiego?
Celem usługi push jest kilka rzeczy; ruch może być znacznie mniejszy, jeśli masz do czynienia z transmisjami, a nadawca realizuje transmisję - to pozwala ci wysłać jedną wiadomość i otrzymać tysiące. Ale, jak zauważasz, największym dobrodziejstwem usługi push jest natura w czasie rzeczywistym, która umożliwia natychmiastowe aktualizacje, aby dotrzeć do klientów. Jednak podczas wypychania naprawdę nigdy nie chcesz wypychać dużych zestawów danych, jeśli nadajesz, a także jesteś na łasce usługi push innej firmy, z której korzystasz (jeśli z niej korzystasz).
Celem ankiety jest okresowe sprawdzanie różnic danych, w przypadku których okres aktualizacji może zawierać akceptowalną umowę SLA o niedokładności do określonego przedziału czasu. Ankieta będzie wymagać od wszystkich klientów okresowego żądania danych, co będzie oznaczać żądanie połączenia dla każdego działającego klienta oraz konieczność usługi na żywo zdolnej do dokładnego monitorowania tych danych w celu dostarczenia ich do ankieterów. Posiadanie dokładnych danych do podania oznacza trwałość danych, która zajmie czas na dysku i czas konserwacji.
Z tego wynika, że jeśli masz obawy dotyczące ruchu sieciowego lub utrzymania usługi (co oznacza ewentualnie uwierzytelnianie / autoryzowanie żądań, rejestrowanie ich, które zajmuje miejsce na dysku, wszystkie normalne wymagania dotyczące utrzymania usługi), wtedy nie „ chcę zmusić klientów do sondowania. Jeśli jednak przypadek użycia wymaga przesłania szczególnie dużego zestawu danych lub nie można być przywiązanym do interfejsu API innej firmy, który może się zmieniać wraz z umową SLA lub opłatami, wówczas może obowiązywać domowy system odpytywania, chociaż utrzymanie koszty ogólne mogą być znacznie większe. Alternatywnie możesz już uruchomić usługę i mieć utrwalone dane, dzięki czemu odpytywanie jest niewielkim dodatkiem do już istniejącej infrastruktury, co sprawia, że odpytywanie jest bardziej pożądane.
Chociaż do centralnego punktu sprawiasz, że masz rację; jeśli konieczny jest czas rzeczywisty , odpytywanie się nie powiedzie. Jeśli tak nie jest, musisz po prostu wyliczyć, jak okresowo można sprawdzać dane pomnożone przez bazę klientów pomnożone przez rozmiar zestawu danych, aby zdecydować, czy koszt sieci będzie tego wart, czy też usługa push byłoby lepiej, gdybyś zawsze mógł po prostu wcisnąć zdarzenie zmiany, które pozwala im zażądać dużego zestawu danych w kroku wtórnym (chociaż atomowość tych kroków może być czymś, na co trzeba uważać w zależności od krytyczności danych).