SlideShare una empresa de Scribd logo
1 de 18
Message Queues (RabbitMQ,
CloudAMQP, AmazonSNS,
Stormmq, ActiveMQ, …)
By Ahmad Karawash
7/4/2016 1
List of Some Message Queues (MQ)
I. RabbitMQ
II. CloudAMQP (RabbitMQ as a service)
III. Amazon SNS
IV. Stormmq (MQ as a service)
V. Apache ActiveMQ
VI. SwiftMQ
VII. Sparrow
VIII.Starling
IX. Kestrel
X. Kafka (used by linkedin) 7/4/2016 2
I- RabbitMQ
• Robust messaging for applications
• Easy to use
• Runs on all major operating systems
• Supports a huge number of developer platforms
• Open source and commercially supported
• Languages: Java | .NET | Ruby | Python | PHP | Delphi/Free Pascal RabbitMQ Client | more...
• Cloud: Cloud Foundry | EC2 | Google Compute Engine | more...
7/4/2016 3
I- RabbitMQ patterns
7/4/2016 4
II- CloudAMQP (RabbitMQ as a
service)
• CloudAMQP are managed RabbitMQ servers in the cloud
• Hosted message queues that lets you pass messages between processes and other systems.
• Messages are published to a queue by a producer, the consumers can then get the messages off the
queue when the consumer wants to handle the messages. In-between, it can route, buffer, and
persist the messages according to rules you give it.
• Messages can be sent cross languages, platforms and OS, this way of handling
messages decouple your processes and creates a highly scalable system.
7/4/2016 5
II- CloudAMQP instances
7/4/2016 6
II- CloudAMQP Console
7/4/2016 7
II- RabbitMQ Management Interface
7/4/2016 8
III- Amazon Simple Notification
Service (Amazon SNS)
• Send push messages, Deliver messages instantly to applications or users and eliminate polling in your apps.
• Scale as your needs grow, Start fast with three simpleAPIs, and deliver an unlimited number of messages.
• Use direct-addressing to send messages to individual devices or broadcast to multiple destinations at-once.
• Use your choice of platforms, Directly access SNS using iOS, Android, Java, Python, PHP, Node.js, or .NET SDKs from AWS.
• Deliver worldwide and across multiple protocols, Send notifications to Apple iOS, Android and other mobile devices, and
destinations like Amazon SQS queues, Lambda functions, email addresses, SMS, and HTTP endpoints.
• Easily connect with other AWS services, Use SNS as a message bus to send messages, alarms, and notifications from your AWS
services such asAmazon RDS,CloudWatch, and S3 to other AWS services such as SQS and Lambda.
• Get message delivery analytics, Get delivery status information viaAmazon CloudWatch on success rates, failure rates, and dwell
times for mobile push messages as well as deliveries to SMS, SQS, HTTP, and Lambda destinations.
• Usage-based pricing,You pay only for what you use with SNS. $0.50 per million publishes.
7/4/2016 9
III- How SNS works
There are two types of clients: publishers and subscribers.
• Publishers communicate asynchronously with
subscribers by producing and sending a message to a
topic, which is a logical access point and
communication channel.
• Subscribers (i.e., web servers, email addresses,
Amazon SQS queues, AWS Lambda functions)
consume or receive the message or notification over
one of the supported protocols (i.e.,Amazon SQS,
HTTP/S, email, SMS, Lambda) when they are
subscribed to the topic.
7/4/2016 10
IV- Stormmq (MQ as a service)
• Free. As In Beer: Send and receive messages absolutely free for up to 5 connected clients. No sign up charges. No
subscriptions. Unless you want more.
• Unlimited Monthly Messages: Send. Store. Receive. Any size. Any number: 1 or 1,000,000,000. Just pay for the
storage you need. Consume messages quickly?Then storage is free.
• Internet Scale: broker scales well beyond the C10K limit of traditional MQ technology, with no sync locks, and up
to 850,000 messages / sec for ultimate users. Designed for today’s 48 core hydras.
• PostgreSQL Admin Interface
• Store & Forward
• Never lose a message. Acknowledgments, partial re-delivery, the works.
• Follows Publish & Subscribe
• Secure by Default
7/4/2016 11
V- Apache ActiveMQ (Apollo)
• Multi-protocol broker and supports STOMP, AMQP, MQTT, Openwire, SSL, andWebSockets.
• Queue Browsers
• Durable Subscriptions onTopics
• Mirrored Queues
• Reliable Messaging
• Message Expiration, Message Swapping, Message Selectors, Message Groups
• JAAS Authentication
• ACL based Authorization
• SSL/TLS Support and Certificate based Authentication
• REST Management API
7/4/2016 12
VI- SwiftMQ
• HighAvailability JMS Router with ACTIVE/STANDBY deployment and active replication.
• Transparent JMS and JNDI failover, no extra reconnect code required.
• Automatic and transparent resolve of all open transactions in transit, includingXA transactions, as well as any non-transacted
acknowledge mode.
• Full inbound and outbound duplicate message detection. Messages are never delivered twice.
• No persistent messages lost during failover. Message sequence is guaranteed.
• Choice of 3 different store types: Replicated File Store, Shared File Store, Shared JDBC Store.
• Transparent reconnect from SwiftMQ Explorer, CLI, CLIAdminAPI.
• Easy conversion to HighAvailability by HAWizard.Turns any existing configuration into HighAvailability.
• HighAvailability test suite included.Test your JMS applications under a continuous failover scenario.
• Additional Swiftlets included at no extra cost: JMS XA/ASF Swiftlet, Routing/UnlimtedSwiftlet, Standard File Store Swiftlet, JDBC
Store Swiftlet.
7/4/2016 13
VII- Sparrow
• fast lightweight queue written in Ruby that speaks memcache.That means you can use Sparrow with
any memcached client library (Ruby or otherwise).
• keeps messages in memory, but persists them to disk, using Sqlite, when the queue is shutdown.
• Basic tests shows that Sparrow processes messages at a rate of around 1660 per second.The load
Sparrow can cope with increases exponentially as you add to the cluster.
• Sparrow's speed greatly increases when using the included client.
• comes with built in support for daemonization and clustering.
• If the Sparrow servers aren't available, queuing can fallback to Amazon SQS
7/4/2016 14
VIII- Starling
• Starling is a powerful but simple messaging server that enables reliable distributed queuing with an
absolutely minimal overhead.
• It speaks the MemCache protocol for maximum cross-platform compatibility.
• Any language that speaks MemCache can take advantage of Starling's queue facilities.
• Only tested with Memcache client 1.7.x and with SystemTimer (systemtimer.rubyforge.org/)
• Starling is “slow” as far as messaging systems are concerned. In practice, it's fast enough.
7/4/2016 15
IX- Kestrel
• Fast, It runs on the JVM so it can take advantage of the hard work people have put into java performance.
• Small, currently about 2500 lines of scala, because it relies on Netty (a rough equivalent of Danger's ziggurat or
Ruby's EventMachine) -- and because Scala is extremely expressive.
• Durable, Queues are stored in memory for speed, but logged into a journal on disk so that servers can be
shutdown or moved without losing any data.
• Reliable, A client can ask to "tentatively" fetch an item from a queue, and if that client disconnects from kestrel
before confirming ownership of the item, the item is handed to another client. In this way, crashing clients don't
cause lost messages.
• It is not strongly ordered, While each queue is strongly ordered on each machine, a cluster will appear "loosely
ordered" because clients pick a machine at random for each operation.The end result should be "mostly fair".
• It is notTransactional, This is not a database. Item ownership is transferred with acknowledgement, but kestrel
does not support grouping multiple operations into an atomic unit.
7/4/2016 16
X- Kafka
• It is a distributed publish-subscribe messaging system.
• Current usage of Kafka at LinkedIn includes:
• Collecting log data (e.g., frontend activity events and service metrics) and loading them into Hadoop/DWH
for offline reporting and ad hoc analysis.
• Feeding log data directly to online applications, such as security, firehose (feeding Signal and LinkedIn
Today), wotc, and realtime service dashboard.
• Deploying derived data (e.g., customized emails and connection strength scores for Cloud) from Hadoop to
production.
• Automatic load balancing
• Asynchronous send
• Semantic partitioning
7/4/2016 17
?@:
Ahmad_Karawash@gmail.com
7/4/2016 18

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kafka tutorial
Kafka tutorialKafka tutorial
Kafka tutorial
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and Zookeeper
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Messaging queue - Kafka
Messaging queue - KafkaMessaging queue - Kafka
Messaging queue - Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Event Hub & Kafka
Event Hub & KafkaEvent Hub & Kafka
Event Hub & Kafka
 
Hands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache PulsarHands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache Pulsar
 
Kafka as Message Broker
Kafka as Message BrokerKafka as Message Broker
Kafka as Message Broker
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kafka basics
Kafka basicsKafka basics
Kafka basics
 
Kafka aws
Kafka awsKafka aws
Kafka aws
 
Messaging, storage, or both? The real time story of Pulsar and Apache Distri...
Messaging, storage, or both?  The real time story of Pulsar and Apache Distri...Messaging, storage, or both?  The real time story of Pulsar and Apache Distri...
Messaging, storage, or both? The real time story of Pulsar and Apache Distri...
 
Multi-Cluster and Failover for Apache Kafka - Kafka Summit SF 17
Multi-Cluster and Failover for Apache Kafka - Kafka Summit SF 17Multi-Cluster and Failover for Apache Kafka - Kafka Summit SF 17
Multi-Cluster and Failover for Apache Kafka - Kafka Summit SF 17
 
Understanding kafka
Understanding kafkaUnderstanding kafka
Understanding kafka
 
How Apache Kafka is transforming Hadoop, Spark and Storm
How Apache Kafka is transforming Hadoop, Spark and StormHow Apache Kafka is transforming Hadoop, Spark and Storm
How Apache Kafka is transforming Hadoop, Spark and Storm
 
Kafka
KafkaKafka
Kafka
 

Destacado (8)

Proper passwordhashing
Proper passwordhashingProper passwordhashing
Proper passwordhashing
 
Password hashing, salting, bycrpt
Password hashing, salting, bycrptPassword hashing, salting, bycrpt
Password hashing, salting, bycrpt
 
Hashing
HashingHashing
Hashing
 
Disclosing password hashing policies
Disclosing password hashing policiesDisclosing password hashing policies
Disclosing password hashing policies
 
An Introduction to Hashing and Salting
An Introduction to Hashing and SaltingAn Introduction to Hashing and Salting
An Introduction to Hashing and Salting
 
Hashing
HashingHashing
Hashing
 
Ch17 Hashing
Ch17 HashingCh17 Hashing
Ch17 Hashing
 
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data Structures
 

Similar a Message queues

apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
TarekHamdi8
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
Timothy Spann
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Shameera Rathnayaka
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
Nitin Mehta
 

Similar a Message queues (20)

apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
 
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
Captial One: Why Stream Data as Part of Data Transformation?
Captial One: Why Stream Data as Part of Data Transformation?Captial One: Why Stream Data as Part of Data Transformation?
Captial One: Why Stream Data as Part of Data Transformation?
 
Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and Metered
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 
Unleashing Real-time Power with Kafka.pptx
Unleashing Real-time Power with Kafka.pptxUnleashing Real-time Power with Kafka.pptx
Unleashing Real-time Power with Kafka.pptx
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Amazon aws big data demystified | Introduction to streaming and messaging flu...
Amazon aws big data demystified | Introduction to streaming and messaging flu...Amazon aws big data demystified | Introduction to streaming and messaging flu...
Amazon aws big data demystified | Introduction to streaming and messaging flu...
 
Columbus mule soft_meetup_aug2021_Kafka_Integration
Columbus mule soft_meetup_aug2021_Kafka_IntegrationColumbus mule soft_meetup_aug2021_Kafka_Integration
Columbus mule soft_meetup_aug2021_Kafka_Integration
 
kafka-tutorial-cloudruable-v2.pdf
kafka-tutorial-cloudruable-v2.pdfkafka-tutorial-cloudruable-v2.pdf
kafka-tutorial-cloudruable-v2.pdf
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
Introduction to Kafka Streams Presentation
Introduction to Kafka Streams PresentationIntroduction to Kafka Streams Presentation
Introduction to Kafka Streams Presentation
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland HochmuthOSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
 
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland HochmuthOSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
 

Más de Ahmad karawash (8)

Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP)Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP)
 
Introduction to-data-science
Introduction to-data-scienceIntroduction to-data-science
Introduction to-data-science
 
How to understand your data
How to understand your dataHow to understand your data
How to understand your data
 
Cloud storage with AWS
Cloud storage with AWSCloud storage with AWS
Cloud storage with AWS
 
Brute Force Attack
Brute Force AttackBrute Force Attack
Brute Force Attack
 
Reasoning of database consistency through description logics
Reasoning of database consistency through description logicsReasoning of database consistency through description logics
Reasoning of database consistency through description logics
 
Cloud computing and Service model
Cloud computing and Service modelCloud computing and Service model
Cloud computing and Service model
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Message queues

  • 1. Message Queues (RabbitMQ, CloudAMQP, AmazonSNS, Stormmq, ActiveMQ, …) By Ahmad Karawash 7/4/2016 1
  • 2. List of Some Message Queues (MQ) I. RabbitMQ II. CloudAMQP (RabbitMQ as a service) III. Amazon SNS IV. Stormmq (MQ as a service) V. Apache ActiveMQ VI. SwiftMQ VII. Sparrow VIII.Starling IX. Kestrel X. Kafka (used by linkedin) 7/4/2016 2
  • 3. I- RabbitMQ • Robust messaging for applications • Easy to use • Runs on all major operating systems • Supports a huge number of developer platforms • Open source and commercially supported • Languages: Java | .NET | Ruby | Python | PHP | Delphi/Free Pascal RabbitMQ Client | more... • Cloud: Cloud Foundry | EC2 | Google Compute Engine | more... 7/4/2016 3
  • 5. II- CloudAMQP (RabbitMQ as a service) • CloudAMQP are managed RabbitMQ servers in the cloud • Hosted message queues that lets you pass messages between processes and other systems. • Messages are published to a queue by a producer, the consumers can then get the messages off the queue when the consumer wants to handle the messages. In-between, it can route, buffer, and persist the messages according to rules you give it. • Messages can be sent cross languages, platforms and OS, this way of handling messages decouple your processes and creates a highly scalable system. 7/4/2016 5
  • 8. II- RabbitMQ Management Interface 7/4/2016 8
  • 9. III- Amazon Simple Notification Service (Amazon SNS) • Send push messages, Deliver messages instantly to applications or users and eliminate polling in your apps. • Scale as your needs grow, Start fast with three simpleAPIs, and deliver an unlimited number of messages. • Use direct-addressing to send messages to individual devices or broadcast to multiple destinations at-once. • Use your choice of platforms, Directly access SNS using iOS, Android, Java, Python, PHP, Node.js, or .NET SDKs from AWS. • Deliver worldwide and across multiple protocols, Send notifications to Apple iOS, Android and other mobile devices, and destinations like Amazon SQS queues, Lambda functions, email addresses, SMS, and HTTP endpoints. • Easily connect with other AWS services, Use SNS as a message bus to send messages, alarms, and notifications from your AWS services such asAmazon RDS,CloudWatch, and S3 to other AWS services such as SQS and Lambda. • Get message delivery analytics, Get delivery status information viaAmazon CloudWatch on success rates, failure rates, and dwell times for mobile push messages as well as deliveries to SMS, SQS, HTTP, and Lambda destinations. • Usage-based pricing,You pay only for what you use with SNS. $0.50 per million publishes. 7/4/2016 9
  • 10. III- How SNS works There are two types of clients: publishers and subscribers. • Publishers communicate asynchronously with subscribers by producing and sending a message to a topic, which is a logical access point and communication channel. • Subscribers (i.e., web servers, email addresses, Amazon SQS queues, AWS Lambda functions) consume or receive the message or notification over one of the supported protocols (i.e.,Amazon SQS, HTTP/S, email, SMS, Lambda) when they are subscribed to the topic. 7/4/2016 10
  • 11. IV- Stormmq (MQ as a service) • Free. As In Beer: Send and receive messages absolutely free for up to 5 connected clients. No sign up charges. No subscriptions. Unless you want more. • Unlimited Monthly Messages: Send. Store. Receive. Any size. Any number: 1 or 1,000,000,000. Just pay for the storage you need. Consume messages quickly?Then storage is free. • Internet Scale: broker scales well beyond the C10K limit of traditional MQ technology, with no sync locks, and up to 850,000 messages / sec for ultimate users. Designed for today’s 48 core hydras. • PostgreSQL Admin Interface • Store & Forward • Never lose a message. Acknowledgments, partial re-delivery, the works. • Follows Publish & Subscribe • Secure by Default 7/4/2016 11
  • 12. V- Apache ActiveMQ (Apollo) • Multi-protocol broker and supports STOMP, AMQP, MQTT, Openwire, SSL, andWebSockets. • Queue Browsers • Durable Subscriptions onTopics • Mirrored Queues • Reliable Messaging • Message Expiration, Message Swapping, Message Selectors, Message Groups • JAAS Authentication • ACL based Authorization • SSL/TLS Support and Certificate based Authentication • REST Management API 7/4/2016 12
  • 13. VI- SwiftMQ • HighAvailability JMS Router with ACTIVE/STANDBY deployment and active replication. • Transparent JMS and JNDI failover, no extra reconnect code required. • Automatic and transparent resolve of all open transactions in transit, includingXA transactions, as well as any non-transacted acknowledge mode. • Full inbound and outbound duplicate message detection. Messages are never delivered twice. • No persistent messages lost during failover. Message sequence is guaranteed. • Choice of 3 different store types: Replicated File Store, Shared File Store, Shared JDBC Store. • Transparent reconnect from SwiftMQ Explorer, CLI, CLIAdminAPI. • Easy conversion to HighAvailability by HAWizard.Turns any existing configuration into HighAvailability. • HighAvailability test suite included.Test your JMS applications under a continuous failover scenario. • Additional Swiftlets included at no extra cost: JMS XA/ASF Swiftlet, Routing/UnlimtedSwiftlet, Standard File Store Swiftlet, JDBC Store Swiftlet. 7/4/2016 13
  • 14. VII- Sparrow • fast lightweight queue written in Ruby that speaks memcache.That means you can use Sparrow with any memcached client library (Ruby or otherwise). • keeps messages in memory, but persists them to disk, using Sqlite, when the queue is shutdown. • Basic tests shows that Sparrow processes messages at a rate of around 1660 per second.The load Sparrow can cope with increases exponentially as you add to the cluster. • Sparrow's speed greatly increases when using the included client. • comes with built in support for daemonization and clustering. • If the Sparrow servers aren't available, queuing can fallback to Amazon SQS 7/4/2016 14
  • 15. VIII- Starling • Starling is a powerful but simple messaging server that enables reliable distributed queuing with an absolutely minimal overhead. • It speaks the MemCache protocol for maximum cross-platform compatibility. • Any language that speaks MemCache can take advantage of Starling's queue facilities. • Only tested with Memcache client 1.7.x and with SystemTimer (systemtimer.rubyforge.org/) • Starling is “slow” as far as messaging systems are concerned. In practice, it's fast enough. 7/4/2016 15
  • 16. IX- Kestrel • Fast, It runs on the JVM so it can take advantage of the hard work people have put into java performance. • Small, currently about 2500 lines of scala, because it relies on Netty (a rough equivalent of Danger's ziggurat or Ruby's EventMachine) -- and because Scala is extremely expressive. • Durable, Queues are stored in memory for speed, but logged into a journal on disk so that servers can be shutdown or moved without losing any data. • Reliable, A client can ask to "tentatively" fetch an item from a queue, and if that client disconnects from kestrel before confirming ownership of the item, the item is handed to another client. In this way, crashing clients don't cause lost messages. • It is not strongly ordered, While each queue is strongly ordered on each machine, a cluster will appear "loosely ordered" because clients pick a machine at random for each operation.The end result should be "mostly fair". • It is notTransactional, This is not a database. Item ownership is transferred with acknowledgement, but kestrel does not support grouping multiple operations into an atomic unit. 7/4/2016 16
  • 17. X- Kafka • It is a distributed publish-subscribe messaging system. • Current usage of Kafka at LinkedIn includes: • Collecting log data (e.g., frontend activity events and service metrics) and loading them into Hadoop/DWH for offline reporting and ad hoc analysis. • Feeding log data directly to online applications, such as security, firehose (feeding Signal and LinkedIn Today), wotc, and realtime service dashboard. • Deploying derived data (e.g., customized emails and connection strength scores for Cloud) from Hadoop to production. • Automatic load balancing • Asynchronous send • Semantic partitioning 7/4/2016 17