RabbitMQ: Messaging in the Cloud

Size: px
Start display at page:

Download "RabbitMQ: Messaging in the Cloud"

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 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 information

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

MOM 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 information

Which application/messaging protocol is right for me?

Which 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 information

Microservices, 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. 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 information

AMQP and Beyond. Messaging by Extending RabbitMQ. Tony Garnock-Jones

AMQP 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 information

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

CLUSTERING 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 information

in Action RabbitMQ Distributed Messaging for Everyone ALVARO VIDELA JASON J.W. WILLIAMS /II MANNING Shelter Island

in 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 information

October 23, CERN, Switzerland. BOINC Virtual Machine Controller Infrastructure. David García Quintas. Introduction. Development (ie, How?

October 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 information

Virtual Memory. Chapter 8

Virtual 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 information

Introduction to AMQP Business messaging without lock-in

Introduction 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 information

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

Solace 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 information

Indirect Communication

Indirect 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 information

RabbitMQ Overview. Tony Garnock-Jones

RabbitMQ 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 information

Red Hat Summit 2009 Jonathan Robie

Red 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 information

Reference Architecture. vrealize Automation 7.0

Reference 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 information

Time and Space. Indirect communication. Time and space uncoupling. indirect communication

Time 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 information

SHORT NOTES / INTEGRATION AND MESSAGING

SHORT 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 information

Threads 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 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 information

PHP Composer 9 Benefits of Using a Binary Repository Manager

PHP 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 information

How to Route Internet Traffic between A Mobile Application and IoT Device?

How 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 information

Design and Architecture. Derek Collison

Design 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 information

9 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 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 information

RabbitMQ Sentimental reports from the Erlang frontline

RabbitMQ 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 information

Datacenter replication solution with quasardb

Datacenter 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 information

Reference Architecture

Reference 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 information

Building 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 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 information

Scaling DreamFactory

Scaling 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 information

Broker Clusters. Cluster Models

Broker 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 information

Beyond 1001 Dedicated Data Service Instances

Beyond 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 information

How To Construct A Keyword Strategy?

How 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 information

CS 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 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 information

CS 4226: Internet Architecture

CS 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 information

Lecture 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 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 information

CPSC 426/526. Cloud Computing. Ennan Zhai. Computer Science Department Yale University

CPSC 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 information

FileWave 10 Webinar Q&A

FileWave 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 information

HYBRID TRANSACTION/ANALYTICAL PROCESSING COLIN MACNAUGHTON

HYBRID 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 information

REVIEW: 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 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 information

Data Acquisition. The reference Big Data stack

Data 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 information

JetBrains TeamCity Comparison

JetBrains 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 information

A 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 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 information

Scaling Web Apps With RabbitMQ

Scaling 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 information

MQ High Availability and Disaster Recovery Implementation scenarios

MQ 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 information

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze

Create 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 information

BRKDCT-1253: Introduction to OpenStack Daneyon Hansen, Software Engineer

BRKDCT-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 information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 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 information

CSCI Computer Networks

CSCI 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 information

Planning Resources. vrealize Automation 7.1

Planning 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 information

OPENSTACK: THE OPEN CLOUD

OPENSTACK: 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 information

Producer sends messages to the "hello" queue. The consumer receives messages from that queue.

Producer 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 information

SCALE AND SECURE MOBILE / IOT MQTT TRAFFIC

SCALE 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 information

Comp 310 Computer Systems and Organization

Comp 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 information

Threads 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 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 information

IERG 4080 Building Scalable Internet-based Services

IERG 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 information

Message Queueing. 20 March 2015

Message 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 information

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 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 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 information

MySQL and Virtualization Guide

MySQL 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 information

AWS Solution Architecture Patterns

AWS 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 information

15 Minute Traffic Formula. Contents HOW TO GET MORE TRAFFIC IN 15 MINUTES WITH SEO... 3

15 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 information

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

BUILDING 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 information

COP Cloud Computing. Presented by: Sanketh Beerabbi University of Central Florida

COP 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 information

Introduction 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 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 information

Redis as a Reliable Work Queue. Percona University

Redis 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 information

White Paper How IP is impacting Physical Access Control

White 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 information

Last Class: CPU Scheduling! Adjusting Priorities in MLFQ!

Last 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 information

Introduction 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 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 information

CPS 310 midterm exam #1, 2/19/2016

CPS 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 information

Basic Reliable Transport Protocols

Basic 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 information

SOFTWARE-DEFINED NETWORKING WHAT IT IS, AND WHY IT MATTERS

SOFTWARE-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 information

NewSQL Without Compromise

NewSQL 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 information

Monitoring a spacecraft from your smartphone using MQTT with Joram

Monitoring 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 information

Event Streams using Apache Kafka

Event 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 information

CPS 310 second midterm exam, 11/14/2014

CPS 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 information

SAS Event Stream Processing 5.1: Advanced Topics

SAS 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 information

Database Architectures

Database 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 information

Services: 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 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 information

Making 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 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 information

MongooseIM - Messaging that Scales

MongooseIM - 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 information

Server 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. 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 information

High 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 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 information

Identifying Workloads for the Cloud

Identifying 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 information

WHITE PAPER. AirGap. The Technology That Makes Isla a Powerful Web Malware Isolation System

WHITE 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 information

Facilitating 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 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 information

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

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 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 information

Switch 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 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 information

UNIT:2. Process Management

UNIT: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 information

Performance and Scalability with Griddable.io

Performance 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 information

Stanford University Computer Science Department CS 240 Quiz 1 Spring May 6, total

Stanford 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 information

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana

Real 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 information

Lecture 1: January 22

Lecture 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 information

DISTRIBUTED 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 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 information

BUILDING 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 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 information

Building a Real-time Notification System

Building 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 information

AppDefense Getting Started. VMware AppDefense

AppDefense 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 information

Operating Systems Overview

Operating 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 information

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise 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 information

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

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 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 information

Application of Virtualization Technologies & CernVM. Benedikt Hegner CERN

Application 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 information

Native POSIX Thread Library (NPTL) CSE 506 Don Porter

Native 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 information

Oracle Solaris 11: No-Compromise Virtualization

Oracle 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 information

Red Hat Enterprise MRG 3 Messaging Programming Reference

Red 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