amazon-web-services - topic - sns amazon example
¿Cuál es la ventaja y la desventaja de utilizar pubnub en Amazon Simple Notification Service(sns)? (1)
PubNub Real-Time Network y Amazon SNS
Respuesta original de Quora: ¿Cuáles son las ventajas y desventajas de utilizar PubNub en Amazon SNS?
Tanto PubNub Real-Time Network como Amazon SNS utilizan una metáfora de publicación / suscripción para enviar y enrutar datos. Sin embargo, aquí es donde termina la comparación. Estos dos servicios proporcionan diferentes funcionalidades y resuelven diferentes problemas de negocios; y uno no puede reemplazar al otro.
Publicación en dispositivos de usuario final PubNub vs SNS
PubNub está diseñado explícitamente para entregar datos con bajas latencias (menos de 0.25 segundos de SLA) a los dispositivos de los usuarios finales, incluidos teléfonos inteligentes, tabletas, navegadores y computadoras portátiles. Estos dispositivos pueden estar detrás de firewalls, entornos NAT, autoridades de torres de telefonía móvil y otros entornos de red difíciles de alcanzar. PubNub logra esto manteniendo una conexión de socket siempre abierta para cada dispositivo, y utilizando esta conexión de socket abierta para "empujar" datos a bajas latencias. PubNub proporciona más de 50 bibliotecas de SDK de cliente para que sea fácil "conectar" la red de PubNub en tiempo real con una simple llamada de PubNub Subscribe API .
Por el contrario, Amazon SNS no tiene forma de llegar a los dispositivos del cliente, excepto por correo electrónico o notificaciones por SMS. Por lo tanto, para aplicaciones que dependen de datos de baja latencia (como juegos multijugador, aplicaciones de chat, aplicaciones colaborativas, etc.) Amazon SNS no es la solución adecuada para este entorno. La principal forma en que Amazon SNS envía datos a los suscriptores es por correo electrónico o devoluciones de llamada HTTP. La ejecución de un servidor HTTP en dispositivos móviles, de navegador y de escritorio para recibir estas notificaciones no es práctica, tanto por los firewalls de red como por razones de seguridad del dispositivo. El uso principal de Amazon SNS es para casos de uso de publicación / suscripción de servidor a servidor o notificaciones de usuario final de mensajes de texto y correo electrónico. Una buena explicación de los casos de uso comunes de Amazon SNS está aquí: ¿Cuáles son los buenos usos del Servicio simple de notificación de Amazon? . Amazon SNS no es la herramienta correcta para las notificaciones en tiempo real dentro de la aplicación. Amazon SNS es más análogo a Tibco o Tuxedo, que son sistemas de publicación / suscripción de servidor a servidor.
Características PubNub Real-Time Network vs SNS
Más allá de la simple publicación / suscripción, PubNub Real-Time Network ofrece una colección de servicios de "building block" para cualquier tipo de aplicación en tiempo real. Estos servicios no son ofrecidos por Amazon SNS u otros servicios de Amazon:
- PubNub Presence : proporciona actualizaciones en tiempo real para las que los usuarios están en línea y alertas cuando se desconectan. Estas actualizaciones se proporcionan a través de un "canal hermano" de PubNub multiplexado que transmite actualizaciones de presencia cada vez que cambia el número de usuarios dentro de una aplicación. Una API adicional llamada "Here_Now ()" también proporciona un recuento de segundos para los usuarios en la aplicación.
- PubNub Storage / Playback - PubNub almacena automáticamente todos los datos publicados en cada canal, y proporciona dos mecanismos para recuperar estos datos: (a) una simple solicitud REST para recuperar los datos de una sola vez, y (b) un mecanismo de reproducción para "jugar" volver "esta información similar a un DVR para grabaciones de TV.
Análisis de PubNub en tiempo real: PubNub proporciona varias visualizaciones y estadísticas de uso para mostrar la actividad, la geografía y el uso del usuario. Una captura de pantalla de ejemplo está a continuación:
- Push móvil fuera de línea de PubNub : PubNub también proporciona un mecanismo alternativo para enviar mensajes a dispositivos móviles cuando la aplicación móvil no se está ejecutando (o en segundo plano). PubNub puede recurrir a una "notificación push" móvil, asegurando que se notifique al usuario final móvil incluso cuando el teléfono está en su bolsillo. Tan pronto como se lance la aplicación, la aplicación comenzará a usar nuevamente la red de tiempo real de PubNub.
- Cifrado AES : PubNub proporciona soporte de cifrado AES 256 listo para usar, asegurando que los datos permanezcan encriptados mientras se enruta a través de la red PubNub. Si bien Amazon SNS proporciona HTTPS, esto significa que los datos no están cifrados mientras se enruta a través de la red de Amazon. Esto invalida inmediatamente el uso de Amazon SNS para HIIPA, SAS70 y otras aplicaciones de mentalidad de seguridad.
- Multiplexación : PubNub mejora la comunicación multicanal con un mecanismo que permite transmitir todos los temas de datos a través de una única conexión de socket TCP. Con PubNub Multiplexing, los ahorros son más evidentes con los recursos de los dispositivos móviles, como los teléfonos con batería y la conectividad de red más lenta. Los datos se comprimen y agrupan a través de ventanas configurables para proporcionar una mayor duración de la batería y una experiencia mejorada para el usuario final en condiciones de red en constante cambio.
Latencia (es decir, "Real-Time") PubNub vs SNS
Debido a que PubNub entrega datos a través de un socket de red abierta existente y establecido, las latencias son menores de 0,25 segundos desde la publicación hasta la suscripción en el percentil del 95% de los dispositivos suscritos. La mayoría de los humanos perciben algo como "en tiempo real" si el evento se percibe dentro de 0.6 - 0.7 segundos. Amazon SNS no ofrece garantías de latencia, y la gran mayoría de las latencias se miden en 1 segundo y, a menudo, varios segundos más lentamente. De nuevo, esto es algo irrelevante; Amazon SNS está diseñado para notificaciones de servidor a servidor (o correo electrónico / SMS), donde a menudo es aceptable y esperado una latencia de muchos segundos.
Canales / Temas y multiplexación PubNub y SNS
Amazon SNS permite crear hasta 100 "temas" en una cuenta (consulte Amazon Simple Notification Service (SNS) ). Un "tema" es equivalente a un canal de PubNub. Por el contrario, PubNub admite una cantidad ilimitada de canales PubNub. Algunos clientes usan rutinariamente más de 1 millón de canales cada mes. Esto permite que cada dispositivo de usuario final tenga su propio canal para la conectividad de uno a uno.
Además, el soporte de PubNub para multiplexación permite que un dispositivo cliente se conecte a múltiples canales de PubNub simultáneamente, mientras continúa usando un solo socket de red. Esto permite que un cliente se suscriba simultáneamente a, por ejemplo, un canal "privado" emparejado específicamente con un único dispositivo o conjunto de dispositivos propiedad de la misma persona, y un canal "público" al que un grupo o toda la población también puede suscribirse. .
Otro caso de uso para Multiplexing sería una aplicación de precio de cotización en tiempo real: suponga que desea transmitir los cambios en el precio de las acciones de 1.000 acciones diferentes. Cada acción tendría su propio canal de PubNub. El dispositivo del usuario final usaría PubNub Multiplexing para suscribirse solo a los canales de PubNub asociados con las acciones que desean rastrear.
Como Amazon SNS no es compatible con Multiplexing, este tipo de caso de uso no es posible.
Confiabilidad y redundancia PubNub Real-Time Network vs SNS
PubNub Real-Time Network se distribuye globalmente en 12 centros de datos y sigue creciendo. Todos los datos publicados en PubNub Global Cloud se replican automáticamente en todo el mundo, proporcionan baja latencia en todo el mundo, así como una confiabilidad sin igual, incluso en el caso de fallas enteras del centro de datos. PubNub ofrece hasta 99.999% de tiempo de actividad de SLA para su red en tiempo real. Amazon SNS es una oferta beta, y como tal, no tiene un acuerdo de nivel de servicio.
Resumen de PubNub Real-Time Network y SNS
Amazon SNS tiene una variedad de usos interesantes, principalmente relacionados con notificaciones de servidor a servidor y alertas de usuario final de correo electrónico / SMS. Originalmente se desarrolló como una forma de organizar los datos entre varios otros servicios en la nube de Amazon AWS y, por lo tanto, se usa principalmente para las operaciones de back-end del servidor y el movimiento de datos.
PubNub Real-Time Network está diseñado para facilitar la creación de aplicaciones en tiempo real en dispositivos móviles, navegadores y computadoras de escritorio que se extienden a millones de usuarios simultáneos. Actualmente, PubNub ya está en uso en más de 2.000 aplicaciones en todo el mundo que abarcan redes sociales, publicidad, juegos, telecomunicaciones y una variedad de otros mercados.
Para mi proyecto de equipo, necesito proponer cuál deberíamos usar PubNub o Amazon Simple Notification Service (SNS). Encuentro que PubNub es muy simple de implementar y usar, pero no pude encontrar nada concreto en Internet que diga sobre sus ventajas y desventajas sobre Amazon SNS.