2012-12-03 106 views
138

SNS ve SQS'yi ne zaman kullanacağımı anlamıyorum ve neden hep bir araya geldiler?Amazon SNS ve Amazon SQS arasındaki fark nedir?

+0

.. doğruysa akışını takip açıklanıyor? Yayımcı -> SNS -> SQL (sıradaki iletileri tutma) -> Abone (şu anda çevrimdışı) – friendyogi

+1

https://aws.amazon.com/blogs/aws/queues-and-notifications-now-best-friends/ –

cevap

226

SNS dağıtılmış bir yayınlamaktan abone olunan sistemidir. Mesajlar, aboneler tarafından yayıncıların SNS'e gönderildikleri ve gönderildikleri zaman numarasına yönlendirilir. SQSkuyruklu sistemini dağıtmaktadır. Mesajlar alıcılara aktarılmaz. Alıcılar, mesaj almak için anketi SQS'a başvurmalıdır. Mesajlar aynı anda birden fazla alıcı tarafından alınamaz. Herhangi bir alıcı bir mesaj alabilir, işleyebilir ve silebilir. Diğer alıcılar daha sonra aynı mesajı almazlar. Sorgulama, iletilerin hemen abonelere gönderildiği SNS'den farklı olarak SQS'de mesaj tesliminde biraz gecikme yaşanmasına neden olur. SNS, e-posta, sms, http bitiş noktası ve SQS gibi birçok son noktayı destekler. Mesaj almak için bilinmeyen numara ve abonelerin türünü istiyorsanız, SNS'ye ihtiyacınız var.

Her zaman SNS ve SQS'yi birleştirmek zorunda değilsiniz. SNS'e SQS'den başka e-posta, sms veya http uç noktalarına mesaj gönderebilirsiniz. SNS ile SNS'nin birleştirilmesi için avantajlar vardır. Dış hizmetlerin ana makinenize bağlantı yapmasını istemeyebilirsiniz (güvenlik duvarı, ev sahibiniz için gelen tüm bağlantıları dışardan engelleyebilir). Son noktanız, yoğun mesaj hacminden dolayı ölebilir. E-posta ve SMS, mesajlarınızı hızlı bir şekilde seçme seçiminiz olmayabilir. SNS ile SNS birleştirerek, hızınıza mesajlar alabilirsiniz. İstemcilerin çevrimdışı olmalarına, ağa ve host hatalarına karşı toleranslı olmasına izin verir. Ayrıca garantili teslimat da elde edersiniz. SNS'yi bir http bitiş noktasına veya e-postaya veya SMS'e mesaj gönderecek şekilde yapılandırırsanız, mesaj gönderilmesiyle ilgili birkaç hata mesajın düşmesine neden olabilir. SQS temel olarak uygulamaları ayırmak veya uygulamaları entegre etmek için kullanılır. Mesajlar kısa süre boyunca SQS'de saklanabilir (en fazla 14 gün). SNS birkaç kopyasını birkaç aboneye dağıtır. Örneğin, bir uygulama tarafından oluşturulan verileri çeşitli depolama sistemlerine çoğaltmak istediğinizi varsayalım. SNS'i kullanabilir ve bu verileri her biri farklı depolama sistemlerine (s3, ana makinenizdeki sabit disk, veritabanı, vb.) Aldıkları mesajları çoğaltan çoklu abonelere gönderebilirsiniz. aws doc itibaren

+1

temel olarak, bildirim mesajları gibi bir şey uygulamak için, SNS ve SQS kullanmak için tavsiye edilir, böylece kullanıcı sadece sıradan almak için sns ile sew kuyruklandırılacak? Kullanıcı başına bir kuyruk oluşturmak mümkün mü? –

+0

Evet. SNS için istediğiniz kadar çok aboneye sahip olabilirsiniz. Birden çok sıraya gönderilen bildirimlere sahip olabilirsiniz. – Srikanth

+0

Merhaba üzgünüm, bu sorunun eski olduğunu görüyorum ama SQS'nin çevrimdışı mesajları bildiğini ve sakladığını merak ediyorum. APNS çevrimdışı mesajları saklamadığından, yalnızca en yeni mesaj. IOS cihazlarının çevrimdışı olduğu ve çevrimdışı mesajları hemen kaydettiğini biliyor muydu? Cihazlar tekrar çevrimiçi olduklarında gönderilsin mi? – John

15

:

Amazon SNS uygulamaları periyodik olarak kontrol etmek veya güncellemeler için “anket” ihtiyacını ortadan kaldırarak, bir “itme” mekanizması yoluyla birden abonelere zaman açısından kritik mesajlar göndermek için izin verir.

Amazon OKS bir yoklama modeli ile mesaj alışverişi için dağıtılmış uygulamalar tarafından kullanılan bir mesaj sıra hizmeti ve Decouple gönderme ve eş zamanlı olarak kullanılabilir olması, her bileşen gerektirmeden bileşenleri alma için de kullanılabilir. Ben senin yorumun anladığımız ne

http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html