RabbitMQ: Messaging in the Cloud
|
|
- Emily Dickerson
- 6 years ago
- Views:
Transcription
1 ADD-01 RabbitMQ: Messaging in the Cloud Matthew Sackman
2 INTRODUCTION AND PLAN COMING UP IN THE NEXT HOUR...
3 INTRODUCTION AND PLAN COMING UP IN THE NEXT HOUR... Messaging, messaging, messaging: What does it all mean?
4 INTRODUCTION AND PLAN COMING UP IN THE NEXT HOUR... Messaging, messaging, messaging: What does it all mean? What is this angular mutant orange Rabbit thing, and why is it dropping AMQP all over the carpet?
5 INTRODUCTION AND PLAN COMING UP IN THE NEXT HOUR... Messaging, messaging, messaging: What does it all mean? What is this angular mutant orange Rabbit thing, and why is it dropping AMQP all over the carpet? How many balloons does it take to keep a Rabbit in a cloud?
6 INTRODUCTION AND PLAN COMING UP IN THE NEXT HOUR... Messaging, messaging, messaging: What does it all mean? What is this angular mutant orange Rabbit thing, and why is it dropping AMQP all over the carpet? How many balloons does it take to keep a Rabbit in a cloud? Prizes! Prizes! Prizes!
7 WHY DO YOU CARE? MESSAGING IS BECOMING EVER MORE IMPORTANT BECAUSE: Scalability issues demand greater flexibility from application developers Traditional synchronous programming models fair poorly at large scale Cloud computing permits greater dynamic scaling than ever seen before, but applications need to be written well to take advantage of this Messaging enables scaling by decoupling components and adding flexibility
8 RABBITMQ IN THE CLOUD TURNS OUT RABBITS QUITE ENJOY HELIUM Several cloud infrastructures have been built using RabbitMQ as the nervous system of the cloud RabbitMQ is easily installed and used by clients on existing clouds such as Amazon EC2 RabbitMQ is available as an additional component on Heroku RabbitMQ is going to become available in more clouds in the future, e.g. Social, Nebula, VMforce RabbitMQ is just as easy to use to solve problems in clouds as it is to solve problems on the ground
9 WHAT IS MESSAGING? What is Messaging?
10 WHAT IS MESSAGING? What is Messaging? What is a Banana?
11 WHAT IS MESSAGING? What can I use Messaging for?
12 WHAT IS MESSAGING? What can I use Messaging for? What can I use a Banana for?
13 WHAT IS MESSAGING? What can I use a Messaging protocol for?
14 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Decoupling Producer Consumer
15 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Decoupling Producer Consumer E.g. website passing orders to a credit-card charging engine
16 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Bidirectional Decoupling Caller Callee
17 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Bidirectional Decoupling Caller Callee E.g. remote procedure call
18 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Pipelining and Decoupling Producer Consumer Producer Consumer
19 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Pipelining and Decoupling Producer Consumer Producer Consumer E.g. combining messages with records in a database
20 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Pipelining and Decoupling Producer Consumer Producer Consumer E.g. combining messages with records in a database
21 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Pipelining and Decoupling Producer Consumer Producer Consumer E.g. combining messages with records in a database
22 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Work-distribution and Decoupling Producer Consumer Consumer
23 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Work-distribution and Decoupling Consumer Producer Consumer Both duplication and round-robin.
24 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Work-distribution and Decoupling Producer Consumer Consumer Both duplication and round-robin. Duplication can be used for logging messages at certain points in the system. Round-robin can be used for horizontal scaling.
25 USE CASES FOR MESSAGING PROTOCOLS IT S GOT TO BE GOOD FOR SOMETHING, RIGHT? Work aggregation, distribution and Decoupling Producer Consumer Producer Consumer
26 USE CASES FOR MESSAGING PROTOCOLS THINGS I CAN T DRAW PICTURES OF OTHER THINGS MESSAGE BROKERS CAN TYPICALLY DO Store-and-forward of messages Absorbing spikes of activity (again, decoupling) Routing to different consumers based on message properties
27 USE CASES FOR MESSAGING PROTOCOLS THINGS I CAN T DRAW PICTURES OF OTHER THINGS MESSAGE BROKERS CAN TYPICALLY DO Store-and-forward of messages Absorbing spikes of activity (again, decoupling) Routing to different consumers based on message properties GENERAL CONCLUSION Messaging protocols as a means of decoupling events is an extremely common and pervasive task There is an enormous range of applications and problems to which using a messaging protocol is an effective solution
28 AMQP AMQP: Advanced Message Queueing Protocol
29 WHY AMQP? IT S CALLED Advanced, SO IT MUST BE GOOD! AMQP IS ESPECIALLY NICE BECAUSE... All resources are dynamically created and destroyed by clients as they need them no static preconfiguration A clean and simple model: just three key nouns to learn Open standard, developed by the AMQP Working Group (we re members) Lots of client libraries available in many languages, for free
30 WHY AMQP? IT S CALLED Advanced, SO IT MUST BE GOOD! AMQP IS ESPECIALLY NICE BECAUSE... All resources are dynamically created and destroyed by clients as they need them no static preconfiguration A clean and simple model: just three key nouns to learn Open standard, developed by the AMQP Working Group (we re members) Lots of client libraries available in many languages, for free An excellent, freely available, open source broker implementation, called RabbitMQ...
31 AMQP 101 ADVANCED!= COMPLICATED Create an exchange,... X "my_exchange" type = fanout
32 AMQP 101 ADVANCED!= COMPLICATED... create a queue,... X "my_exchange" type = fanout "my_queue"
33 AMQP 101 ADVANCED!= COMPLICATED... add a binding,... X "my_exchange" type = fanout "my_queue"
34 AMQP 101 ADVANCED!= COMPLICATED... all inside a broker. X "my_exchange" type = fanout "my_queue"
35 AMQP 101 ADVANCED!= COMPLICATED Publish a message,... msg X "my_exchange" type = fanout "my_queue"
36 AMQP 101 ADVANCED!= COMPLICATED... it sits in a queue. X "my_exchange" type = fanout msg "my_queue"
37 AMQP 101 ADVANCED!= COMPLICATED Publish another message,... msg 2 X "my_exchange" type = fanout msg "my_queue"
38 AMQP 101 ADVANCED!= COMPLICATED... it also goes to the queue. X "my_exchange" type = fanout msg 2 msg "my_queue"
39 AMQP 101 ADVANCED!= COMPLICATED Consuming from the queue retrieves the messages in order. X "my_exchange" type = fanout msg 2 msg "my_queue"
40 AMQP 101 ADVANCED!= COMPLICATED Consuming from the queue retrieves the messages in order. X "my_exchange" type = fanout msg 2 "my_queue" msg
41 AMQP 101 ADVANCED!= COMPLICATED Consuming from the queue retrieves the messages in order. X "my_exchange" type = fanout "my_queue" msg 2
42 AMQP 101 ADVANCED!= COMPLICATED Publish many messages,... F E D C B A X "my_exchange" type = fanout "my_queue"
43 AMQP 101 ADVANCED!= COMPLICATED... and they are distributed amongst several consumers on the same queue. D A X E B "my_exchange" type = fanout "my_queue" F C
44 AMQP 101 ADVANCED!= COMPLICATED We can create a second queue and bind it to the same exchange. X "my_exchange" type = fanout "my_queue_2" "my_queue"
45 AMQP 101 ADVANCED!= COMPLICATED Messages go to every queue bound to a fanout exchange... C B A X "my_queue_2" "my_exchange" type = fanout "my_queue"
46 AMQP 101 ADVANCED!= COMPLICATED Messages go to every queue bound to a fanout exchange... X "my_exchange" type = fanout C C B B A "my_queue_2" A "my_queue"
47 AMQP 101 ADVANCED!= COMPLICATED queues can be consumed from at different rates.... and the X "my_exchange" type = fanout C B C "my_queue_2" A "my_queue" B A
48 AMQP 101 ADVANCED!= COMPLICATED queues can be consumed from at different rates.... and the X "my_exchange" type = fanout C "my_queue_2" "my_queue" C A B
49 AMQP 101 ADVANCED!= COMPLICATED queues can be consumed from at different rates.... and the X "my_exchange" type = fanout "my_queue_2" "my_queue" C
50 AMQP 101 ADVANCED!= COMPLICATED We replace my_exchange with a direct exchange. X "my_exchange" type = direct bk = "vodka" bk = "beer" "my_queue_2" "my_queue" rk: Routing Key bk: Binding Key
51 AMQP 101 ADVANCED!= COMPLICATED The routing key of a published message selects which queues the message goes to. A rk = "vodka" X "my_exchange" type = direct bk = "vodka" bk = "beer" "my_queue_2" "my_queue" rk: Routing Key bk: Binding Key
52 AMQP 101 ADVANCED!= COMPLICATED The routing key of a published message selects which queues the message goes to. B rk = "beer" X "my_exchange" type = direct bk = "vodka" bk = "beer" A "my_queue_2" "my_queue" rk: Routing Key bk: Binding Key
53 AMQP 101 ADVANCED!= COMPLICATED The routing key of a published message selects which queues the message goes to. X "my_exchange" type = direct bk = "vodka" bk = "beer" A "my_queue_2" B "my_queue" rk: Routing Key bk: Binding Key
54 AMQP 101 ADVANCED!= COMPLICATED Messages with no matching bindings are discarded. C rk = "tequila" X "my_exchange" type = direct bk = "vodka" bk = "beer" A "my_queue_2" B "my_queue" rk: Routing Key bk: Binding Key
55 AMQP 101 ADVANCED!= COMPLICATED Messages with no matching bindings are discarded. X "my_exchange" type = direct bk = "vodka" bk = "beer" A "my_queue_2" B "my_queue" rk: Routing Key bk: Binding Key
56 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. X bk = "a.*.c" "my_exchange" type = topic bk = "#.e" "my_queue_2" "my_queue" rk: Routing Key bk: Binding Key
57 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. X bk = "a.*.c" "my_exchange" type = topic bk = "#.e" "my_queue_2" "my_queue" rk: Routing Key bk: Binding Key
58 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. A B C D E F rk = "a" rk = "a.c" rk = "a.b.c" rk = "a.e" rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" "my_queue_2" "my_queue" bk: Binding Key
59 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. A B C D E F rk = "a" rk = "a.c" rk = "a.b.c" rk = "a.e" rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" "my_queue_2" "my_queue" bk: Binding Key
60 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. B C D E F rk = "a.c" rk = "a.b.c" rk = "a.e" rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" "my_queue_2" "my_queue" bk: Binding Key
61 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. B C D E F rk = "a.c" rk = "a.b.c" rk = "a.e" rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" "my_queue_2" "my_queue" bk: Binding Key
62 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. C D E F rk = "a.b.c" rk = "a.e" rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" "my_queue_2" "my_queue" bk: Binding Key
63 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. D E F rk = "a.e" rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" C "my_queue_2" "my_queue" bk: Binding Key
64 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. E F rk = "b.e" rk = "e" X bk = "a.*.c" "my_exchange" type = topic rk: Routing Key bk = "#.e" C "my_queue_2" D "my_queue" bk: Binding Key
65 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. F rk = "e" X "my_exchange" type = topic rk: Routing Key bk = "a.*.c" bk = "#.e" E C "my_queue_2" D "my_queue" bk: Binding Key
66 AMQP 101 ADVANCED!= COMPLICATED Topic exchanges permit wildcards in the binding key. Keys are.-separated lists, e.g. stocks.nyse.vmw * matches any 1 element. # matches zero or more elements. X bk = "a.*.c" "my_exchange" type = topic bk = "#.e" F E C "my_queue_2" D "my_queue" rk: Routing Key bk: Binding Key
67 OTHER KEY ELEMENTS OF AMQP YES, IT DOES ALL THE STANDARD BORING STUFF TOO Errors can be raised for messages that do not get routed to any queues Messages can be consumed so that the broker does not forget about the message until the client explicitly acknowledges the message Messages can be published with a property indicating whether the message should be written to disk Transactions: making publication and acknowledgement of several messages atomic Flow control: e.g. used to stop publishers from overwhelming the broker in extreme situations
68 CONCLUSION: WHY AMQP? IT S CALLED Advanced, SO IT MUST BE GOOD! AN OPEN Protocol IS A GOOD THING BECAUSE IT... Makes it easier to have multiple implementations that interoperate at the wire-level Avoids vendor lock-in: easy to rip out and replace individual components with alternative implementations Allows third-parties to write client libraries for other languages Decouples flag-day upgrades for both client libraries and broker Allows third-party traffic analysis tools to inspect and decode interactions between the clients and brokers Promotes similarities in APIs presented by different client libraries
69 RABBITMQ
70 INTRODUCING RABBITMQ NOT ACTUALLY A RABBIT RABBITMQ, AMQP & MESSAGING RabbitMQ consists of the broker (server) and several clients (Java,.Net, plus others) They speak the AMQP protocol to each other Anyone can write (and many have) other clients which also speak AMQP and work with RabbitMQ
71 INTRODUCING RABBITMQ NOT ACTUALLY A RABBIT RABBITMQ, AMQP & MESSAGING RabbitMQ consists of the broker (server) and several clients (Java,.Net, plus others) They speak the AMQP protocol to each other Anyone can write (and many have) other clients which also speak AMQP and work with RabbitMQ RabbitMQ is freely available and open source, licensed under the Mozilla Public License v1.1 It s already in many popular Linux distributions (Ubuntu, Debian, Fedora, Gentoo) and can be easily installed on OS X both through MacPorts and Homebrew
72 INTRODUCING RABBITMQ NOT ACTUALLY A RABBIT The broker is written in Erlang: an excellent programming language and platform for the task A mere 17k lines of code in the broker Supports clustering for increased scalability Supports several extension points via plugins which are frequently used to extend RabbitMQ, e.g. STOMP, XMPP adaptors; The Shovel; additional exchange types... Can work with Pacemaker and associated tools to provide various forms of High Availability
73 RABBITMQ FEATURES A single queue can run up around 30,000 messages per second, depending on payload, clients, and properties of the messages But several queues together can achieve much higher throughput, and still keep the queues empty RabbitMQ 2.0 gains the ability to send messages to disk to free up memory, thus allowing queue depths to grow, bounded only by disk space, not RAM. Queues of 10s of millions of items are easily accommodated Adding extension to RabbitMQ based on feedback from our users, e.g. queue expiry, queue-message TTL, publisher acknowledgements
74 CONCLUSIONS RabbitMQ is a leading implementation of AMQP, and has wide adoption from a large community across a large number of languages and problem domains Website and downloads available at On Ubuntu and Debian, just an apt-get install rabbitmq-server away. Similarly easy for Fedora and many other Linux distributions For OS X, it s in MacPorts Full easy-to-install Windows bundles available from the website
75 AND FINALLY... CAN I HAVE A PONY TOO? All our messages are incredibly important and must never ever be lost under any circumstances.
76 AND FINALLY... CAN I HAVE A PONY TOO? All our messages are incredibly important and must never ever be lost under any circumstances. Fact: There are always moments at which the message is at a single point of failure.
77 AND FINALLY... CAN I HAVE A PONY TOO? We need guaranteed exactly-once delivery I want to send 1 message, and know it gets delivered to exactly one consumer, once.
78 AND FINALLY... CAN I HAVE A PONY TOO? We need guaranteed exactly-once delivery I want to send 1 message, and know it gets delivered to exactly one consumer, once. Fact: Provably impossible. Depends on definition of guarantee: you can achieve a high probability of no duplicates and no message loss.
79 THE END WAKE UP! Thank you Questions?
Exploring the scalability of RPC with oslo.messaging
Exploring the scalability of RPC with oslo.messaging Rpc client Rpc server Request Rpc client Rpc server Worker Response Worker Messaging infrastructure Rpc client Rpc server Worker Request-response Each
More informationMOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware
MOM MESSAGE ORIENTED MOM Message Oriented Middleware MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS Peter R. Egli 1/25 Contents 1. Synchronous versus asynchronous interaction
More informationWhich application/messaging protocol is right for me?
Which application/messaging protocol is right for me? Building a connected device solution calls for several design and architectural decisions. Which protocol(s) should you use to connect your devices
More informationMicroservices, Messaging and Science Gateways. Review microservices for science gateways and then discuss messaging systems.
Microservices, Messaging and Science Gateways Review microservices for science gateways and then discuss messaging systems. Micro- Services Distributed Systems DevOps The Gateway Octopus Diagram Browser
More informationAMQP and Beyond. Messaging by Extending RabbitMQ. Tony Garnock-Jones
AMQP and Beyond Messaging by Extending RabbitMQ Tony Garnock-Jones Why messaging? Database is to Filesystem as Messaging is to Network Messaging abstracts away from the details of
More informationCLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters
CLUSTERING HIVEMQ Building highly available, horizontally scalable MQTT Broker Clusters 12/2016 About this document MQTT is based on a publish/subscribe architecture that decouples MQTT clients and uses
More informationin Action RabbitMQ Distributed Messaging for Everyone ALVARO VIDELA JASON J.W. WILLIAMS /II MANNING Shelter Island
RabbitMQ in Action Distributed Messaging for Everyone ALVARO VIDELA JASON J.W. WILLIAMS /II MANNING Shelter Island contents foreword xv preface xvii acknowledgments xix about this book xxi about the cover
More informationOctober 23, CERN, Switzerland. BOINC Virtual Machine Controller Infrastructure. David García Quintas. Introduction. Development (ie, How?
CERN, Switzerland October 23, 2009 Index What? 1 What? Why? Why? 2 3 4 Index What? 1 What? Why? Why? 2 3 4 What? What? Why?... are we looking for A means to interact with the system running inside a VM
More informationVirtual Memory. Chapter 8
Chapter 8 Virtual Memory What are common with paging and segmentation are that all memory addresses within a process are logical ones that can be dynamically translated into physical addresses at run time.
More informationIntroduction to AMQP Business messaging without lock-in
Introduction to AMQP Business messaging without lock-in Alexis Richardson September 2008 1 You might need messaging if... you need to scale 2 You might need messaging if... you need to monitor data feeds
More informationSolace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery
Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery Java Message Service (JMS) is a standardized messaging interface that has become a pervasive part of the IT landscape
More informationIndirect Communication
Indirect Communication Vladimir Vlassov and Johan Montelius KTH ROYAL INSTITUTE OF TECHNOLOGY Time and Space In direct communication sender and receivers exist in the same time and know of each other.
More informationRabbitMQ Overview. Tony Garnock-Jones
RabbitMQ Overview Tony Garnock-Jones Agenda AMQP in 3 minutes RabbitMQ architecture Availability, Clustering, Federation Durability, Persistence, Memory usage Security Operational Tools
More informationRed Hat Summit 2009 Jonathan Robie
1 MRG Messaging: A Programmer's Overview Jonathan Robie jonathan.robie@redhat.com Software Engineer, Red Hat 2009-Sept-03 2 Red Hat MRG Messaging AMQP Messaging Broker High speed Reliable AMQP Client Libraries
More informationReference Architecture. vrealize Automation 7.0
vrealize Automation 7.0 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit your feedback to
More informationTime and Space. Indirect communication. Time and space uncoupling. indirect communication
Time and Space Indirect communication Johan Montelius In direct communication sender and receivers exist in the same time and know of each other. KTH In indirect communication we relax these requirements.
More informationSHORT NOTES / INTEGRATION AND MESSAGING
SHORT NOTES / INTEGRATION AND MESSAGING 1. INTEGRATION and MESSAGING is related to HOW to SEND data to and receive from ANOTHER SYSTEM or APPLICATION 2. A WEB SERVICE is a piece of software designed to
More informationThreads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019
Threads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019 Bringing It Together OS has three hats: What are they? Processes help with one? two? three? of those hats OS protects itself
More informationPHP Composer 9 Benefits of Using a Binary Repository Manager
PHP Composer 9 Benefits of Using a Binary Repository Manager White Paper Copyright 2017 JFrog Ltd. March 2017 www.jfrog.com Executive Summary PHP development has become one of the most popular platforms
More informationHow to Route Internet Traffic between A Mobile Application and IoT Device?
Whitepaper How to Route Internet Traffic between A Mobile Application and IoT Device? Website: www.mobodexter.com www.paasmer.co 1 Table of Contents 1. Introduction 3 2. Approach: 1 Uses AWS IoT Setup
More informationDesign and Architecture. Derek Collison
Design and Architecture Derek Collison What is Cloud Foundry? 2 The Open Platform as a Service 3 4 What is PaaS? Or more specifically, apaas? 5 apaas Application Platform as a Service Applications and
More information9 Reasons To Use a Binary Repository for Front-End Development with Bower
9 Reasons To Use a Binary Repository for Front-End Development with Bower White Paper Introduction The availability of packages for front-end web development has somewhat lagged behind back-end systems.
More informationRabbitMQ Sentimental reports from the Erlang frontline
RabbitMQ Sentimental reports from the Erlang frontline Alexis Richardson Matthew Sackman Tony Garnock-Jones Erlang Factory June 25th 2009 1 RabbitMQ is a messaging server that just works! Im in yr serverz,
More informationDatacenter replication solution with quasardb
Datacenter replication solution with quasardb Technical positioning paper April 2017 Release v1.3 www.quasardb.net Contact: sales@quasardb.net Quasardb A datacenter survival guide quasardb INTRODUCTION
More informationReference Architecture
vrealize Automation 7.0.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions
More informationBuilding loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg
Building loosely coupled and scalable systems using Event-Driven Architecture Jonas Bonér Patrik Nordwall Andreas Källberg Why is EDA Important for Scalability? What building blocks does EDA consists of?
More informationScaling DreamFactory
Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud
More informationBroker Clusters. Cluster Models
4 CHAPTER 4 Broker Clusters Cluster Models Message Queue supports the use of broker clusters: groups of brokers working together to provide message delivery services to clients. Clusters enable a Message
More informationBeyond 1001 Dedicated Data Service Instances
Beyond 1001 Dedicated Data Service Instances Introduction The Challenge Given: Application platform based on Cloud Foundry to serve thousands of apps Application Runtime Many platform users - who don
More informationHow To Construct A Keyword Strategy?
Introduction The moment you think about marketing these days the first thing that pops up in your mind is to go online. Why is there a heck about marketing your business online? Why is it so drastically
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 21: Network Protocols (and 2 Phase Commit) 21.0 Main Point Protocol: agreement between two parties as to
More informationCS 4226: Internet Architecture
Software Defined Networking Richard T. B. Ma School of Computing National University of Singapore Material from: Scott Shenker (UC Berkeley), Nick McKeown (Stanford), Jennifer Rexford (Princeton) CS 4226:
More informationLecture 21 11/27/2017 Next Lecture: Quiz review & project meetings Streaming & Apache Kafka
Lecture 21 11/27/2017 Next Lecture: Quiz review & project meetings Streaming & Apache Kafka What problem does Kafka solve? Provides a way to deliver updates about changes in state from one service to another
More informationCPSC 426/526. Cloud Computing. Ennan Zhai. Computer Science Department Yale University
CPSC 426/526 Cloud Computing Ennan Zhai Computer Science Department Yale University Recall: Lec-7 In the lec-7, I talked about: - P2P vs Enterprise control - Firewall - NATs - Software defined network
More informationFileWave 10 Webinar Q&A
FileWave 10 Webinar Q&A When will 10 be released? October 14 th, but you can sign up today to get into the beta program. Link: www.filewave.com/beta-program How stable is the beta? Should we use it for
More informationHYBRID TRANSACTION/ANALYTICAL PROCESSING COLIN MACNAUGHTON
HYBRID TRANSACTION/ANALYTICAL PROCESSING COLIN MACNAUGHTON WHO IS NEEVE RESEARCH? Headquartered in Silicon Valley Creators of the X Platform - Memory Oriented Application Platform Passionate about high
More informationREVIEW: A LOOK AT A PORTABLE USB3 NETWORK TAP WIRESHARK HEROES SERIES VISIT
REVIEW: A LOOK AT A PORTABLE USB3 NETWORK TAP WIRESHARK HEROES SERIES VISIT WWW.PROFITAP.COM INTRODUCTION JASPER BONGERTZ TECHNICAL CONSULTANT FOR AIRBUS DEFENCE A while ago I wrote a post for LoveMyTool
More informationData Acquisition. The reference Big Data stack
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Data Acquisition Corso di Sistemi e Architetture per Big Data A.A. 2016/17 Valeria Cardellini The reference
More informationJetBrains TeamCity Comparison
JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and
More informationA Distributed System Case Study: Apache Kafka. High throughput messaging for diverse consumers
A Distributed System Case Study: Apache Kafka High throughput messaging for diverse consumers As always, this is not a tutorial Some of the concepts may no longer be part of the current system or implemented
More informationScaling Web Apps With RabbitMQ
Scaling Web Apps With RabbitMQ Álvaro Videla The NetCircle Erlang Factory Lite 2010 Who? About Me Development Manager at TheNetCircle.com Writing RabbitMQ in Action for Manning Blog: http://videlalvaro.github.com/
More informationMQ High Availability and Disaster Recovery Implementation scenarios
MQ High Availability and Disaster Recovery Implementation scenarios Sandeep Chellingi Head of Hybrid Cloud Integration Prolifics Agenda MQ Availability Message Availability Service Availability HA vs DR
More informationCreate High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze
Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze Rob Davies Director of Open Source Product Development, Progress: FuseSource - http://fusesource.com/ Rob Davies
More informationBRKDCT-1253: Introduction to OpenStack Daneyon Hansen, Software Engineer
BRKDCT-1253: Introduction to OpenStack Daneyon Hansen, Software Engineer Agenda Background Technical Overview Demonstration Q&A 2 Looking Back Do You Remember What This Guy Did to IT? Linux 3 The Internet
More informationIEMS 5722 Mobile Network Programming and Distributed Server Architecture
Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 9 Asynchronous Tasks & Message Queues Lecturer:
More informationCSCI Computer Networks
CSCI-1680 - Computer Networks Chen Avin (avin) Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Peterson & Davie, Rodrigo Fonseca Administrivia Sign and hand in Collaboration
More informationPlanning Resources. vrealize Automation 7.1
vrealize Automation 7.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit your feedback to
More informationOPENSTACK: THE OPEN CLOUD
OPENSTACK: THE OPEN CLOUD Anuj Sehgal (s.anuj@jacobs-university.de) AIMS 2012 Labs 04 June 2012 1 Outline What is the cloud? Background Architecture OpenStack Nova OpenStack Glance 2 What is the Cloud?
More informationProducer sends messages to the "hello" queue. The consumer receives messages from that queue.
Simple Message Queue using the Pika Python client (From https://www.rabbitmq.com/tutorials/tutorial-one-python.html) A producer (sender) that sends a single message and a consumer (receiver) that receives
More informationSCALE AND SECURE MOBILE / IOT MQTT TRAFFIC
APPLICATION NOTE SCALE AND SECURE MOBILE / IOT TRAFFIC Connecting millions of devices requires a simple implementation for fast deployments, adaptive security for protection against hacker attacks, and
More informationComp 310 Computer Systems and Organization
Comp 310 Computer Systems and Organization Lecture #9 Process Management (CPU Scheduling) 1 Prof. Joseph Vybihal Announcements Oct 16 Midterm exam (in class) In class review Oct 14 (½ class review) Ass#2
More informationThreads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018
Threads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018 Last Time CPU Scheduling discussed the possible policies the scheduler may use to choose the next process (or thread!)
More informationIERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK Term 1, 2016/17 IERG 4080 Building Scalable Internet-based Services Lecture 7 Asynchronous Tasks and Message Queues Lecturer: Albert C. M. Au Yeung 20 th & 21
More informationMessage Queueing. 20 March 2015
Message Queueing 20 March 2015 Message Queueing--How it works Publisher One or more publishers, e.g.: a script gives the middleware a compound query which is vetted and published to the queue as lower-priority
More informationSOFTWARE UNIT 1 PART B C O M P U T E R T E C H N O L O G Y ( S 1 O B J A N D O B J 3-2)
SOFTWARE UNIT 1 PART B C O M P U T E R T E C H N O L O G Y ( S 1 O B J 2 2-3 A N D O B J 3-2) DIGITAL LITERACY STANDARD 1 OBJECTIVE 3 Explore and demonstrate understanding of managing operating systems
More informationMySQL and Virtualization Guide
MySQL and Virtualization Guide Abstract This is the MySQL and Virtualization extract from the MySQL Reference Manual. For legal information, see the Legal Notices. For help with using MySQL, please visit
More informationAWS Solution Architecture Patterns
AWS Solution Architecture Patterns Objectives Key objectives of this chapter AWS reference architecture catalog Overview of some AWS solution architecture patterns 1.1 AWS Architecture Center The AWS Architecture
More information15 Minute Traffic Formula. Contents HOW TO GET MORE TRAFFIC IN 15 MINUTES WITH SEO... 3
Contents HOW TO GET MORE TRAFFIC IN 15 MINUTES WITH SEO... 3 HOW TO TURN YOUR OLD, RUSTY BLOG POSTS INTO A PASSIVE TRAFFIC SYSTEM... 4 HOW I USED THE GOOGLE KEYWORD PLANNER TO GET 11,908 NEW READERS TO
More informationBUILDING MICROSERVICES ON AZURE. ~ Vaibhav
BUILDING MICROSERVICES ON AZURE ~ Vaibhav Gujral @vabgujral About Me Over 11 years of experience Working with Assurant Inc. Microsoft Certified Azure Architect MCSD, MCP, Microsoft Specialist Aspiring
More informationCOP Cloud Computing. Presented by: Sanketh Beerabbi University of Central Florida
COP6087 - Cloud Computing Presented by: Sanketh Beerabbi University of Central Florida A cloud is a collection of networked resources configured such that users can request scalable resources (VMs, platforms,
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 05 Lecture 18 CPU Scheduling Hello. In this lecture, we
More informationRedis as a Reliable Work Queue. Percona University
Redis as a Reliable Work Queue Percona University 2015-02-12 Introduction Tom DeWire Principal Software Engineer Bronto Software Chris Thunes Senior Software Engineer Bronto Software Introduction Introduction
More informationWhite Paper How IP is impacting Physical Access Control
White Paper How IP is impacting Physical Access Control +Background Installers and end users of security systems have never seen as many exciting product developments as they have in recent years as more
More informationLast Class: CPU Scheduling! Adjusting Priorities in MLFQ!
Last Class: CPU Scheduling! Scheduling Algorithms: FCFS Round Robin SJF Multilevel Feedback Queues Lottery Scheduling Review questions: How does each work? Advantages? Disadvantages? Lecture 7, page 1
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 06 Lecture 29 Semaphores Hello. In this video, we will
More informationCPS 310 midterm exam #1, 2/19/2016
CPS 310 midterm exam #1, 2/19/2016 Your name please: NetID: Answer all questions. Please attempt to confine your answers to the boxes provided. For the execution tracing problem (P3) you may wish to use
More informationBasic Reliable Transport Protocols
Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they
More informationSOFTWARE-DEFINED NETWORKING WHAT IT IS, AND WHY IT MATTERS
SOFTWARE-DEFINED NETWORKING WHAT IT IS, AND WHY IT MATTERS When discussing business networking and communications solutions, the conversation seems invariably to revolve around cloud services, and more
More informationNewSQL Without Compromise
NewSQL Without Compromise Everyday businesses face serious challenges coping with application performance, maintaining business continuity, and gaining operational intelligence in real- time. There are
More informationMonitoring a spacecraft from your smartphone using MQTT with Joram
Monitoring a spacecraft from your smartphone using with Joram joram.ow2.org mqtt.jorammq.com www.scalagent.com David Féliot Use case #1: on-call operators On-call operators (working outside the control
More informationEvent Streams using Apache Kafka
Event Streams using Apache Kafka And how it relates to IBM MQ Andrew Schofield Chief Architect, Event Streams STSM, IBM Messaging, Hursley Park Event-driven systems deliver more engaging customer experiences
More informationCPS 310 second midterm exam, 11/14/2014
CPS 310 second midterm exam, 11/14/2014 Your name please: Part 1. Sticking points Consider the Java code snippet below. Is it a legal use of Java synchronization? What happens if two threads A and B call
More informationSAS Event Stream Processing 5.1: Advanced Topics
SAS Event Stream Processing 5.1: Advanced Topics Starting Streamviewer from the Java Command Line Follow these instructions if you prefer to start Streamviewer from the Java command prompt. You must know
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL
More informationServices: Monitoring and Logging. 9/16/2018 IST346: Info Tech Management & Administration 1
Services: Monitoring and Logging 9/16/2018 IST346: Info Tech Management & Administration 1 Recall: Server vs. Service A server is a computer. A service is an offering provided by server(s). HTTP 9/16/2018
More informationMaking Session Stores More Intelligent KYLE J. DAVIS TECHNICAL MARKETING MANAGER REDIS LABS
Making Session Stores More Intelligent KYLE J. DAVIS TECHNICAL MARKETING MANAGER REDIS LABS What is a session store? A session store is An chunk of data that is connected to one user of a service user
More informationMongooseIM - Messaging that Scales
MongooseIM - Messaging that Scales Michał Ślaski What is MongooseIM? 2 What is MongooseIM? Instant messaging for Social Media, Gaming and Telecommunications 2 What is MongooseIM? Instant messaging for
More informationServer and IT Management Software that Offers You Complete Control and Total Flexibility.
Server and IT Management Software that Offers You Complete Control and Total Flexibility. Identity Management Active Directory Functions App Center Virtualization Management Console Identity Management
More informationHigh Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 23 Hierarchical Memory Organization (Contd.) Hello
More informationIdentifying Workloads for the Cloud
Identifying Workloads for the Cloud 1 This brief is based on a webinar in RightScale s I m in the Cloud Now What? series. Browse our entire library for webinars on cloud computing management. Meet our
More informationWHITE PAPER. AirGap. The Technology That Makes Isla a Powerful Web Malware Isolation System
AirGap The Technology That Makes Isla a Powerful Web Malware Isolation System Introduction Web browsers have become a primary target for cyber attacks on the enterprise. If you think about it, it makes
More informationFacilitating the Open Source Community Transition to Cloud Storage Giorgio Regni & Brad King
Facilitating the Open Source Community Transition to Cloud Storage Giorgio Regni & Brad King gr@scality.com, bk@scality.com Who is Scality? Infrastructure Software Experienced Team ex Bizanga Service Provider
More informationCase Study Virtual Expo. Virtual Expo, a leader in online B2B exhibitions, used Varnish Plus Cloud to build and enhance their own in-house CDN
Case Study Virtual Expo Virtual Expo, a leader in online B2B exhibitions, used Varnish Plus Cloud to build and enhance their own in-house CDN Varnish Plus Cloud on AWS allows flexibility and permits getting
More informationSwitch or Broker? A comparison of two models for Reliable Messaging. by Pieter Hintjens, imatix Corporation. January, 2006
Switch or Broker? A comparison of two models for Reliable Messaging by Pieter Hintjens, imatix Corporation January, 2006 The Classic View The "reliable message broker" Big, powerful message broker Uses
More informationUNIT:2. Process Management
1 UNIT:2 Process Management SYLLABUS 2.1 Process and Process management i. Process model overview ii. Programmers view of process iii. Process states 2.2 Process and Processor Scheduling i Scheduling Criteria
More informationPerformance and Scalability with Griddable.io
Performance and Scalability with Griddable.io Executive summary Griddable.io is an industry-leading timeline-consistent synchronized data integration grid across a range of source and target data systems.
More informationStanford University Computer Science Department CS 240 Quiz 1 Spring May 6, total
Stanford University Computer Science Department CS 240 Quiz 1 Spring 2004 May 6, 2004 This is an open-book exam. You have 50 minutes to answer eight out of nine questions. Write all of your answers directly
More informationReal World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana
Real World Messaging With Apache ActiveMQ Bruce Snyder bsnyder@apache.org 7 Nov 2008 New Orleans, Louisiana Do You Use JMS? 2 Agenda Common questions ActiveMQ features 3 What is ActiveMQ? Message-oriented
More informationLecture 1: January 22
CMPSCI 677 Distributed and Operating Systems Spring 2018 Lecture 1: January 22 Lecturer: Prashant Shenoy Scribe: Bin Wang 1.1 Introduction to the course The lecture started by outlining the administrative
More informationDISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed
More informationBUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR. Petri Kero CTO / Ministry of Games
BUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR Petri Kero CTO / Ministry of Games MOBILE GAME BACKEND CHALLENGES Lots of concurrent users Complex interactions between players Persistent world with frequent
More informationBuilding a Real-time Notification System
Building a Real-time Notification System September 2015, Geneva Author: Jorge Vicente Cantero Supervisor: Jiri Kuncar CERN openlab Summer Student Report 2015 Project Specification Configurable Notification
More informationAppDefense Getting Started. VMware AppDefense
AppDefense Getting Started VMware AppDefense You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit
More informationOperating Systems Overview
Operating Systems Overview 1 operating system no clear traditional definition each definition cover a distinct aspect an interface between applications and hardware true, this was the first reason for
More informationEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges
More informationPregel: A System for Large- Scale Graph Processing. Written by G. Malewicz et al. at SIGMOD 2010 Presented by Chris Bunch Tuesday, October 12, 2010
Pregel: A System for Large- Scale Graph Processing Written by G. Malewicz et al. at SIGMOD 2010 Presented by Chris Bunch Tuesday, October 12, 2010 1 Graphs are hard Poor locality of memory access Very
More informationApplication of Virtualization Technologies & CernVM. Benedikt Hegner CERN
Application of Virtualization Technologies & CernVM Benedikt Hegner CERN Virtualization Use Cases Worker Node Virtualization Software Testing Training Platform Software Deployment }Covered today Server
More informationNative POSIX Thread Library (NPTL) CSE 506 Don Porter
Native POSIX Thread Library (NPTL) CSE 506 Don Porter Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Scheduling System Calls threads RCU File System Networking Sync User Kernel
More informationOracle Solaris 11: No-Compromise Virtualization
Oracle Solaris 11: No-Compromise Virtualization Oracle Solaris 11 is a complete, integrated, and open platform engineered for large-scale enterprise environments. Its built-in virtualization provides a
More informationRed Hat Enterprise MRG 3 Messaging Programming Reference
Red Hat Enterprise MRG 3 Messaging Programming Reference A Guide to Programming with Red Hat Enterprise Messaging Red Hat Customer Content Services Red Hat Enterprise MRG 3 Messaging Programming Reference
More information