Büyük gecikme (saat) kabul edilebilir olduğunda Ankete karşı it


10

Günümüzde yoklamanın kötü bir uygulama olduğu ve uzak bir sunucudan sürekli veri alması gereken mobil uygulamalar geliştirirken itmenin yol olduğu anlaşılmaktadır.

Tüm büyük mobil mağazalar, push bildirim hizmeti sürümünü sağlar:

Ancak bu varsayımın ne ölçüde geçerli olduğunu merak ediyorum. Yani, uzak bir sunucuyu günde sadece birkaç kez yoklayan ve "bildirimlerin" anında teslim edilmesine gerek olmayan bir uygulama varsa (büyük bir gecikme kabul edilebilir), o zaman iyi bir karar olur mu? veriyi itmek yerine yoklamak?

Şimdiden teşekkürler!


1
Bu konuda gerçekten tartmak için mobil itme mekanizmalarına yeterince aşina değilim, ancak itme mekanizmasını kullanmanın, örneğin güç kapatma / uyku senaryolarıyla uğraşmak gibi bazı baş ağrılarından tasarruf edip edemeyeceğini merak ediyorum. Bu sadece bir masaüstü / web uygulaması olsaydı, oylamanın iyi olduğunu söyleyebilirim; itme genellikle web sunucunuzda bir bağlantıyı açık tutmayı içerir, bu yüzden bir masaüstü / tarayıcıda yoklamanın bir başka avantajıdır, ancak bu bir mobil uygulama olduğundan ve bu alternatif itme mekanizmalarını kullanabileceğiniz için, cevabın farklı olabileceğini düşünüyorum.
Dr.Wily's Apprentice

Yanıtlar:


14

Gerçek zamanlı bir zorunluluk olmadığında oylama her zaman kabul edilebilir. Kendinize sormanız gereken şey, neden birini diğeri yerine kullanmak istiyorsunuz?

Bir itme servisinin amacı birkaç şeydir; pushlarınız yayınsa ve üçüncü taraf bir sağlayıcı yayın yapıyorsa, başa çıkmanız çok daha az trafik olabilir - bu bir mesaj göndermenize ve binlerce kişinin almasını sağlar. Ancak belirttiğiniz gibi, bir push servisinin en büyük nimeti, güncellemelerin tüketicilerinize ulaşmasını sağlayan gerçek zamanlı doğadır. Ancak itme yaparken, yayın yapıyorsanız gerçekten büyük veri setlerini itmek istemezsiniz ve ayrıca kullandığınız üçüncü taraf itme servisinin merhametindesiniz (eğer bir tane kullanırsanız).

Bir anketin amacı, güncelleme süresinin belirli bir zamana kadar kabul edilebilir bir yanlışlık SLA'sına sahip olabileceği periyodik olarak veri farklılıklarını kontrol etmektir. Anket, tüm müşterilerinizin düzenli aralıklarla veri talep etmesini gerektirir; bu, çalışan her müşteri için bir bağlantı istenmesi ve bu verileri anketörlere sunmak için doğru bir şekilde izleyebilen canlı bir hizmetin gerekliliği anlamına gelir. Sunulması için doğru verilere sahip olmak, disk ve bakım süresini alacak bazı veri kalıcılığı anlamına gelir.

Bu nedenle, ağ trafiği veya bir hizmetin bakımı ile ilgili endişeleriniz varsa (bu, muhtemelen kimlik doğrulama / yetkilendirme, disk alanını kaplayan günlükleri kaydetme, bir hizmeti sürdürmenin tüm normal gereksinimleri anlamına gelir), istemcileri yoklamaya zorlamak istemiyor. Bununla birlikte, kullanım durumu özellikle büyük bir veri kümesinin iletilmesini gerektiriyorsa veya SLA veya ücretlerinin yanı sıra zamanında değişebilecek bir üçüncü tarafın API'sına bağlanamıyorsanız, bakım için evde yetiştirilen bir yoklama sistemi uygulanabilir ek yük önemli ölçüde daha fazla olabilir. Alternatif olarak, zaten hizmet yürütüyor olabilirsiniz ve veri yoklamayı, yoklamanın zaten yerinde olan altyapıya hafif bir ek olacak ve yoklamayı daha cazip hale getirecek şekilde devam ettirebilirsiniz.

Merkez noktaya kadar doğru olmanıza rağmen; gerçek zamanlı gerekliyse , yoklama yapmaz. Değilse , ağ maliyetinin buna değip değmeyeceğine veya bir push servisine karar verip vermeyeceğinize karar vermek için verilerin periyodik olarak nasıl kontrol edilebileceğine dair matematik yapmak zorundasınız. her zaman ikincil bir adımda büyük veri kümesini talep etmelerini sağlayan bir değişiklik olayını her zaman itebileceğiniz daha iyi olurdu (ancak bu adımların atomisitesi, verilerin kritikliğine bağlı olarak dikkatli olmanız gereken bir şey olabilir).


3

Sorgulama sizin durumunuzda iyi olmalıdır. Ve başka bir sistemle (veya birden fazla platform için birden fazla sistemle) entegre olmanız gerekmeyecek .

Bununla birlikte, cihaz özellikleri bir sorun olabilir. Uygulama cihazın önünde ve ortasında olmadığında güvenilir bir şekilde anket yapabilir misiniz? (sizin için bir sorun olabilir veya olmayabilir). Bunu yapabilmeniz, uygulamayı geliştirmek için kullandığınız teknolojiye bağlı olabilir.


Uygulamanın "etkin" olmasa bile uygulamanın sunucuyu yoklamasını sağlamak için yerleşik zamanlayıcıları kullanmayı planlıyorum. Android'de nasıl yapılacağını biliyorum ve iPhone'ların ve Windows Telefonların aynı işlevi sağladığını umuyorum;)
Thomas CG de Vilhena

2

Elbette. Aynı zamanda daha kolaydır (herkes aynı programda çekiyorsa, sadece çekme sivri uçlarına dikkat edin).

Bununla birlikte, mobil kullanıcıların beklentilerini dikkate alarak 'büyük bir gecikmenin kabul edilebilir' olduğu varsayımına itiraz edeceğim. ('Haritalar gerçek zamanlı olarak güncellenmez! Kabul edilemez!' - veya - 'Hava durumu servisi olduğunu biliyorum, ancak yarınki hava tahmini güneşli hale gelene kadar bu yenileme düğmesine her beş saniyede bir basmaya devam edeceğim!')


Herkesin aynı anda oy vermesini önlemenin iyi bir noktası. Zamanlayıcıları rastgele ayarlamak hile yapacak sanırım!
Thomas CG de Vilhena
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.