SlideShare a Scribd company logo
Messaging for the Cloud and
Microservices
Rob Davies
2015
RED HAT | Fabric8 Rocks!2
Rob Davies
• Director of Middleware Engineering
for xPaaS
• Over 20 years experience of
developing large scale solutions for
telcos and finance
• Creator of ActiveMQ and ServiceMix
• Committer on open source projects,
including fabric8, Apache Camel and
other stuff …
RED HAT | Fabric8 Rocks!3
All singing, all dancing scalable
messaging for the cloud
AND …
Messaging for Microservices
RED HAT | Fabric8 Rocks!4
Why do we use messaging ?
• Robustness to change
• Time independence
• Hide latency
• Event driven
• Platform and language
independence
Broker
Message in
Message out after
enrichment by Process B
Process C
Process B
Process A
Queue:Foo
Queue:Bar

Recommended for you

Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs

Nodeconf Barcelona 2015 presentation exploring several ways of building microservices in an asynchronous way. Presented the concept of a broker as an alternative to a multiple point-to-point architecture.

architecbrokerrabbitmq
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture

This document discusses how load balancing needs have changed with the rise of containers and microservices. Traditional load balancers are not well-suited for dynamic container environments where services and topology frequently change. New approaches are needed like integrating load balancers with container orchestration platforms, using client-side load balancing, and leveraging load balancers for advanced patterns like zero-downtime deployments, circuit breaking, visibility and security segmentation. Load balancers are playing an increasingly important role in cloud native architectures.

microservicesapache mesosdocker
Microservices: State of the Union
Microservices: State of the UnionMicroservices: State of the Union
Microservices: State of the Union

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/29ZQmIx. Adrian Cockcroft discusses success/failure stories of adopting microservices, overviews what’s next with microservices and presents some of the techniques that have led to successful deployments. Filmed at qconnewyork.com. Adrian Cockcroft works at Battery where he advises the firm and its portfolio companies about technology issues and also assists with deal sourcing and due diligence. He was a founding member of eBay Research Labs, developing advanced mobile applications and even building his own homebrew phone, years before iPhone and Android launched.

qcon new yorkadrian cockcroftinfoq
RED HAT | Fabric8 Rocks!5
Traditional Enterprise Message brokers
• Designed to support
many different
messaging patterns
• highly available
• Support clustering
• Support store and
forward
• But – are usually
very static in nature
RED HAT | Fabric8 Rocks!6
Core Messaging Patterns …
RED HAT | Fabric8 Rocks!7
Requestor
Core Message Pattern: Request/Reply
Servic
e
RED HAT | Fabric8 Rocks!8
Producer
Core Message Pattern: Queue
Consumer
Consumer
Consumer

Recommended for you

Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers

This document discusses best practices for running Apache Kafka on Docker containers. It describes how to design Kafka deployments using Docker to provide portability, elasticity, and multi-tenancy. Key considerations include allocating appropriate resources to different roles like brokers and Zookeepers, enabling auto-configuration, and providing security and network isolation. The document outlines an implementation using Dockerfiles, configurations, and orchestration to deploy multi-node Kafka clusters across multiple hosts.

Jelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service ProvidersJelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service Providers

Jelastic provides an advanced DevOps PaaS with Docker containers support, easy cloud management and flexible quotas system to help service providers to unleash the full potential of containers.

service providersclouddocker
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka

This document discusses using microservices with Kafka. It describes how Kafka can be used to connect microservices for asynchronous communication. It outlines various features of Kafka like high throughput, replication, partitioning, and how it can provide reliability. Examples are given of how microservices could use Kafka for logging, filtering messages, and dispatching to different topics. Performance benefits of Kafka are highlighted like scalability and ability to handle high volumes of messages.

microservicesevent-driven architectureapache kafka
RED HAT | Fabric8 Rocks!9
Core Message Pattern: Publish/Subscribe
Consumer
Consumer
Consumer
Producer
RED HAT | Fabric8 Rocks!10
Message Channels and Filters
RED HAT | Fabric8 Rocks!11
Message Routing: Selectors
Producer Destination
Consumer
Color = red
Consumer
Color =
blue
RED HAT | Fabric8 Rocks!12
Message Routing: Destination Wildcards
• * matches a subject
• > matches sub-tree
Topic:
BAR.BEER.WHITE
Topic:
BAR.WINE.WHITE
Producer
Consumer
Topic:BAR.WINE.WHITE
Consumer
Topic:BAR.BEER.WHITE
Consumer
Topic:BAR.*.WHITE
Consumer
Topic:BAR.>

Recommended for you

Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
Building Stream Infrastructure across Multiple Data Centers with Apache KafkaBuilding Stream Infrastructure across Multiple Data Centers with Apache Kafka
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka

To manage the ever-increasing volume and velocity of data within your company, you have successfully made the transition from single machines and one-off solutions to large distributed stream infrastructures in your data center, powered by Apache Kafka. But what if one data center is not enough? I will describe building resilient data pipelines with Apache Kafka that span multiple data centers and points of presence, and provide an overview of best practices and common patterns while covering key areas such as architecture guidelines, data replication, and mirroring as well as disaster scenarios and failure handling.

kafkadata centerstream
Jelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid CloudJelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid Cloud

DevOps with Containers in Virtual Private Cloud and Hybrid Cloud. A new opportunity for hosting providers to attract Enterprise customers.

devopscontainersvirtual private cloud
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf

This document discusses microservices and OSGi services running with Apache Karaf. It covers some of the operational overhead and complexity of microservices compared to using OSGi microservices (μServices) with Apache Karaf. Key points include reduced operational overhead and skills requirements, built-in support for versioning and distributed capabilities with OSGi μServices in Apache Karaf. Continuous delivery techniques like using Jolokia for deployment and Apache Karaf Cellar for clustering are also mentioned.

microservicesosgiapache karaf
RED HAT | Fabric8 Rocks!13
Message Groups
Producer
Consumer
Consumer
Consumer
Queue:Prices
Message message = session.createTextMessage(“Hi DWP”);
message.setStringProperty("JMSXGroupID", ”JavaRocks");
producer.send(message);
RED HAT | Fabric8 Rocks!14
Scaling Messaging –
the traditional way …
RED HAT | Fabric8 Rocks!15
Client Scaling:
Message Bus
RED HAT | Fabric8 Rocks!16
Client Scaling:
Message Bus

Recommended for you

Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel Components

This document provides an agenda and overview for a presentation on Apache Camel essential components. The presentation is given by Christian Posta from Red Hat on January 23, 2013. The agenda includes an introduction to Camel, a discussion of components, and time for questions. An overview of FuseSource/Red Hat is given, noting the acquisition of FuseSource by Red Hat in 2012. Details are provided on the speaker and their background. The document focuses on introducing some of the most widely used and essential Camel components, including File, Bean, Log, JMS, CXF, and Mock. Configuration options and examples of using each component are summarized.

apache camel integration esb opensource asf enterpapache camel integration esb opensource asf enterp
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka

Kafka's basic terminologies, its architecture, its protocol and how it works. Kafka at scale, its caveats, guarantees and use cases offered by it. How we use it @ZaprMediaLabs.

kafkaapachezapr
NFV Orchestration for Optimal Performance
NFV Orchestration for Optimal PerformanceNFV Orchestration for Optimal Performance
NFV Orchestration for Optimal Performance

NFV workloads pose challenges for IIAS providers. Learn how hardware performance enhancements (DPA&EPA) by Intel, integrated with virtualization providers, can be an NFV enabler, and how advanced orchestration by TOSCA and Cloudify can put the right VNF on the right hardware and coordinate complex deployments.

nfv orchestration tosca cloudify networking epa
RED HAT | Fabric8 Rocks!17
Broker Scaling:
Message BusMessage
throughput
requirement exceeds
broker capacity
RED HAT | Fabric8 Rocks!18
Broker Scaling:
Message Bus Message Bus
RED HAT | Fabric8 Rocks!19
Broker Scaling:
Message Bus Message Bus
RED HAT | Fabric8 Rocks!20
Broker Scaling:
Message Bus Message Bus
Message BusMessage Bus

Recommended for you

Microservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache CassandraMicroservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache Cassandra

In this webinar, we review the benefits of deploying a microservices architecture with Cassandra as your backbone in order to ensure your applications become incredibly reliable. We discuss in detail: - How to create microservices in Node.js with ExpressJs and Seneca - Tuning the Node.js driver for Cassandra: error handling, load balancing and degrees of parallelism - Additional best practices to ensure your systems are highly performant and available The sample service is available on GitHub: https://github.com/jorgebay/killr-service

node.jsmicroservicescassandra
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices

Presented at IBM InterConnect 2105. Is your next enterprise application ready for the cloud? Do you know how to build the kind of low-latency, highly available, highly scalable, omni-channel, micro-service modern-day application that customers expect? This introductory presentation will cover what it takes to build such an application using the multiple language runtimes and composing services offered on IBM Bluemix cloud.

cloud microservices bluemix
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka

The document provides an introduction and overview of Apache Kafka presented by Jeff Holoman. It begins with an agenda and background on the presenter. It then covers basic Kafka concepts like topics, partitions, producers, consumers and consumer groups. It discusses efficiency and delivery guarantees. Finally, it presents some use cases for Kafka and positioning around when it may or may not be a good fit compared to other technologies.

RED HAT | Fabric8 Rocks!21
Broker Scaling: Problems
Message Bus Message Bus
Message BusMessage Bus
• Diminished
returns
• Focused
Overload
• Stranded
Capacity
RED HAT | Fabric8 Rocks!22
How do we scale Messaging for the
Cloud ?
RED HAT | Fabric8 Rocks!23
Requirements for Messaging as a Service
• Needs to support many thousands of clients
• Flexible, brokers need to be spun up and down, based on demand
• Client connections may need to be multiplexed, to decrease the
load on individual message brokers
• Popular messaging protocols support
• Flexible routing needs to be supported
RED HAT | Fabric8 Rocks!24
What contenders are already out
there ?

Recommended for you

WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh?

Service meshes are all the buzz in cloud-native world. How come only yesterday we didn't know such a thing existed and now everybody seems to want one? If you're already running a microservice-based system or only starting out with one — you may be asking yourself: "Do I also need a mesh?" In this session we'll try to answer what the mesh is good for, what problems it solves, what new questions it poses. More specifically we will: explore the SMI Spec; understand why everybody wants a mesh; see how the mesh helps with progressive delivery; discuss if it's time for you to get into the mesh.

cloud computingservice meshdevops
RedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in EquinixRedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in Equinix

This document discusses Equinix's plans to implement a microservices architecture and edge caching capabilities for their DCIM platform. The new architecture aims to address challenges from Equinix's large, global, and heterogeneous infrastructure by breaking the application into independent, containerized microservices. This will improve scalability, performance, fault tolerance, and deployments. The architecture will leverage edge processing by caching data and services at local data centers to reduce latency and enable offline functionality.

redisredisconf17redisconf
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices

Presentation from WJAX 2015 with Oliver Gierke. Compares REST and Messaging as an integration approach for Microservices.

microservicewjaxrest
RED HAT | Fabric8 Rocks!25
ActiveMQ
HornetQ
RabbitMQ
Proprietary Enterprise Messaging
RED HAT | Fabric8 Rocks!26
Apache Kafka
• Publish/Subscribe messaging – rethought as a distributed
commit log
• Designed for fast data ingestion of logs
• Scalable – designed to allow a single cluster to act as a
messaging platform, allowing for elastic expansion with no
downtime
• Messages are persisted to disk, and replicated to prevent
data loss
• Allows partitioning of data streams across cluster of
machines
• Created at Linkedin – donated to the ASF
RED HAT | Fabric8 Rocks!27
Apache Kafka Architecture
ZooKeeper BrokerBrokerBroker Broker
Producer Producer
Consumer Consumer
RED HAT | Fabric8 Rocks!28
Apache Kafka Performance
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+papers+and+presentations
From: Kafka: A distributed Messaging System for log processing, Jun Rao

Recommended for you

StormMQ Introduction to AMQP, Dublin
StormMQ Introduction to AMQP, DublinStormMQ Introduction to AMQP, Dublin
StormMQ Introduction to AMQP, Dublin

Message queuing connects systems and components loosely by allowing them to exchange data and information asynchronously without being directly connected or aware of each other. It is ideal for cloud applications as it provides loose coupling between systems, making individual systems less likely to suffer outages when another system changes or has issues. The document discusses the history and benefits of message queuing including AMQP, which provides an open standard to enable interoperability between messaging systems.

raph cohndublinstormmq
Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!

Cloud computing provides on-demand access to shared computing resources like networks, servers, storage, applications and services available over the internet. It allows users and businesses to access these resources as needed without having to manage physical infrastructure themselves. The average internet user was one of the early major adopters of cloud computing without realizing it through services like email, photo storage, and social media. Cloud computing is here to stay due to benefits like agility, scalability, lower costs and simplifying software deployment for businesses of all sizes.

Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices

Heb je ook een onderbuik gevoel dat er iets mis is als mensen praten over microservices? Alsof je verplicht bent services te bouwen van hooguit enkele regels code, die expliciet autonoom en los inzetbaar zijn, en altijd via REST moeten communiceren? Iedereen zegt dat je deployment goed op orde moet hebben, omdat dit anders een nachtmerrie wordt, maar niemand geeft een oplossing. In deze sessie geven we je een andere kijk op microservices en hoe je dit ook kunt implementeren binnen je bestaande architectuur.

cqrs soa eda nservicebus microservice
RED HAT | Fabric8 Rocks!29
Apache Kafka – Differences with a Message
Broker
• Distributed commit log – broker maintains no state
• Niche – so works really well for a particular set of use
cases
• Proprietary
• Written in Scala
• Consumers have to maintain state
RED HAT | Fabric8 Rocks!30
Kubernetes Helps
RED HAT | Fabric8 Rocks!31
Fabric8 MQ – not a message broker – but a
scalable messaging system
Many concurrent
connections, one out
Flexible
Protocols
Multiplex
Connections
Vert.x
Core
Embedded Camel,
Integration with APIMan
OpenWire,
STOMP
MQTT
AMQP
WebSockets – all done
asynchronously
Scaling Connections
NOT a problem
Destination
Sharding
RED HAT | Fabric8 Rocks!32
Fabric8 MQ Independently scalable:
Node
Pod
ActiveMQ
Broker
AMQ
Replication
Controller
Node
Pod
ActiveMQ
Broker
Node
Pod
ActiveMQ
Broker
Fabric8MQ
Replication
Controller
Vert.x
Vert.x
Vert.x
Multiplexer
Multiplexer
Multiplexer
Fabric8MQ
Vert.x
Vert.x
Vert.x
Multiplexer
Multiplexer
Multiplexer
Fabric8MQ
Vert.x
Vert.x
Vert.x
Multiplexer
Multiplexer
Multiplexer
Fabric8MQ

Recommended for you

C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris WolfC* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf

CQS and CNS are message bus services for the cloud that are API compatible with AWS SQS and SNS. They use Cassandra for persistence and Redis for caching to provide scalability, high availability, and low latency. Extensive testing showed CQS can scale linearly to over 15,000 messages per second and CNS can handle thousands of messages per second with end-to-end latencies under 100ms. The services are in production use at Comcast to power applications like their X1 Sports app.

summitboris wolfapache cassandra
Introduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupIntroduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users Group

This document provides an introduction and overview of Akka, an open-source toolkit for building concurrent, distributed, and fault-tolerant applications on the JVM. It discusses the benefits of the actor model for concurrency, key Akka concepts including actors, messages, dispatchers, and supervision. It provides examples of actor definitions and message passing. The document aims to explain when and why Akka would be useful for building reactive and scalable applications.

akkajava
Open Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptxOpen Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptx

CQS and CNS are open source alternatives to Amazon SQS and SNS developed by Comcast to meet their requirements of compatibility with AWS, active-active multi-datacenter support, horizontal scalability, guaranteed delivery, and very low latency. CQS uses Cassandra for persistence and Redis for caching queue metadata and payloads to achieve high performance. CNS uses CQS and scales by distributing publishing and delivery work across multiple servers. The services have been open sourced and Comcast is seeking feedback on integrating them with OpenStack.

RED HAT | Fabric8 Rocks!33
Fabric8 MQ Message Flow:
Protocol
Conversion
Camel
Routing
API
Management Multiplexer
Destination
Sharding
Broker
Control
RED HAT | Fabric8 Rocks!34
Qpid Dispatch Router
BrokerBrokerBroker Broker
Producer ProducerConsumer Consumer
Router Router Router Router
AMQP
1.0
RED HAT | Fabric8 Rocks!35
Multiplexing
• Brokers performs better the lower
the number of connections – less
contention
• IoT applications have long lived
connections, but small amount of
traffic
• All configurable – you can decide
how fine or coarse grained you want
multiplexing
• Dispatch Router does this
automatically
RED HAT | Fabric8 Rocks!36
Destination Sharding: Benefits
• There is an overhead associated with a
Destination – restrict the number of
Destinations per Broker to improve
performance
• Co-locate producers and consumers of a
Destination to the same broker reduces
latency and improves overall performance
• Increased scalability for your messaging
solution
• Dispatch Router does this automatically

Recommended for you

IPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration AnalysisIPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration Analysis
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the Cloud

Apache Camel journey with Microservices, lessons learned and utilisation of Fabric8 to make Docker, Kubernetes and OpenShift easy for developers to use

fabric8kubernetesdocker
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the CloudCassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud

At Comcast Silicon Valley we have developed a general purpose message bus for the cloud. The service is API compatible with Amazon’s SQS/SNS and is built on Cassandra and Redis with the goal of linear horizontal scalability. In this Webinar we will explore the architecture of the system and how we employ Cassandra as a central component to meet key requirements. We will also take a look at the latest performance numbers.

comcastapache cassandranosql
RED HAT | Fabric8 Rocks!37
Red Hat Messaging – how we plan
to tackle messaging for the cloud
…
RED HAT | Fabric8 Rocks!38
What we have today
 Separate clients tied to
broker- specific protocols
 Limited
integration between brokers
& overlapping capabilities
MRG-M (Apache Qpid C++ broker)
•AMQP, high performance, routing, HA
•No longer sold but actively supported
M. MQ 6.x (Apache ActiveMQ 5.x Java
broker)
• Multi-protocol JMS-oriented broker
• Large user community, rich feature set
EAP HornetQ JMS Messaging Broker (HornetQ GitHub
project)
•Multi-protocol JMS-oriented broker
•JMS 2.0, best-in-class SpecJMS performance
MRG-M
3.1
A-MQ
6.x
HornetQ
EAP6
RED HAT | Fabric8 Rocks!39
Clients
A-MQ
Where we’re going
• Consolidate to a single messaging product, known
as A-MQ
• Consists of three components: Broker,
Interconnect & Clients
• Developed in open, community-based, upstream
projects and
leveraging open, standards-based protocols
Broker
Interconnect
RED HAT | Fabric8 Rocks!40
Where we’re going
M. MQ Broker
• Full-featured, high-performance, multi-protocol
enterprise broker
• HA through replication and failover
M. MQ Interconnect Router
• Large-scale, secure, reliable, and manageable
messaging networks
• Use with or without broker. HA through redundant
routing.
M. MQ Clients
• Ubiquitous, standards-based messaging clients for all
common platforms and programming languages
A-
MQ
A-MQ
Broker
Interconnect
Clients

Recommended for you

IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)

Red Hat JBoss Fuse integration services delivers cloud-based integration based on OpenShift by Red Hat to deliver continuous delivery of tested, production-ready integration solutions. Utilizing a drag and drop, code-free UI and combining that with the integration power of Apache Camel, Fuse integration services is the next generation iPaaS. In this session, we'll walk you through why iPaaS is important, the current Fuse integration services roadmap, and the innovation happening in open source community projects to make this a reality.

Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important

iPaaS (Integration Platform as a Service) is a cloud service that enables integration between applications both on-premises and in the cloud without having to write code. It provides pre-built connectors, data mapping capabilities, integration flow orchestration, and tools for managing the integration lifecycle. While iPaaS can help with integration challenges, issues around security, vendor lock-in, and regulatory compliance still need to be addressed. WSO2 envisions their iPaaS providing multi-tenancy, a connector catalog, an IDE, and integration with their AppFactory for application lifecycle management.

 
by WSO2
iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric Technology

Build a Cloud Day presentation about Fuse Fabric technology in the cloud and how integration projects / architectures can be designed top of cloudstack, openstack, amazon, ...

integrationcamelkaraf
RED HAT | Fabric8 Rocks!41
Where we’re going
• AMQP (Advanced Message Queuing
Protocol)
• Rich semantics, multiplexing, flow control,
extensible
• International standard – ISO/IEC ISO
19464
• MQTT (Message Queuing Telemetry
Transport)
• Lightweight “first mile” telemetry
• OASIS Standard; International
standardization in progress
• STOMP (Simple Text-Oriented
Messaging Protocol)
• WebSocket encapsulation
A-MQ
Broker
Interconnect
Clients
RED HAT | Fabric8 Rocks!42
Messaging for Microservices
RED HAT | Fabric8 Rocks!43
Reliable, Fast Communication between Services
RED HAT | Fabric8 Rocks!44
Functional Decomposition

Recommended for you

Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker

One of the most fundamental challenges of CI/CD is the ability to balance between Quality, Time, and Cost.  Amazon EC2 Container Service (ECS), along with Docker and Amazon EC2 Container Registry (ECR), has changed the game for many by making resource management very simple.  For Okta, it has enabled the Continuous Integration team to maximize throughput while minimizing cost.  In this session we will show you how Okta has created a flexible CI system with ECS, Docker, ECR, AWS Lambda, AWS CloudFormation, Amazon RDS, and Amazon SQS.  Okta runs 30,000 tests with each developer commit, and releases 10,000 new lines of code each week to production.  The CI system, built 100% on AWS, must be able to handle load while keeping cost under control.  This talk is oriented toward developers looking to achieve efficient resource and cost management without compromising speed or quality.

amazon web servicesnew york summit2016 aws summit new york
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticity

The document discusses the challenges of handling massive online traffic for a company's quarterly sales promotions, including spikes up to 80,000 concurrent users per second. It proposes an elastic infrastructure solution on Amazon Web Services that uses load balancers, auto-scaling web and application servers, RabbitMQ queues to moderate traffic, and Redis for caching to dynamically expand capacity as needed during promotions and contract it afterwards. The architecture aims to efficiently queue and process high volumes of traffic while providing a scalable and available system.

high availabilityamazon ec2amazon web services
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec..."Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...

"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrecking crew." Speakers: Jonathan Owens, Senior Site Reliability Engineer and Jose Fernandez, Lead Software Engineer, New Relic

futurestack16new relic
RED HAT | Fabric8 Rocks!45
Micromessaging
• Whilst external services should
often be http – internal services
do not need to be.
• Using a messaging system can
improve performance and
scalability
• Standards are important –
immutable infrastructure leads to
disposable infrastructure. Apply
that all assets in your design.
RED HAT | Fabric8 Rocks!46
Micromessaging: inter-service communications
Broker
Service A
Service A
Service A
Service C
Service A
Service B
Service A
Service F
Service A
Service E
Service A
Service Drequest
reply
subscribe
subscribe
publishpublish
RED HAT | Fabric8 Rocks!47
Micromessaging: Control Plane
BrokerController
Service A
Service F
Service A
Service A
subscribe
subscribe
publish
{Start Processing}
{Stop Processing}
RED HAT | Fabric8 Rocks!48
Micromessaging: Stream Processing
Broker
publish
Event Listener
SMS
Event Listener
Event Listener
HTTP Post
Event Listener
HTTP Post
Event Listener
HTTP Post
Event Listener
HTTP Post
Event Listener
HTTP Post
SMTP
publish
publish
Event
Processing
Engine

Recommended for you

MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture

The document discusses integration architecture in a microservices world. It begins by defining integration architecture as how data and functions are shared between applications. It then discusses challenges with large enterprise landscapes that have undergone mergers and acquisitions. The document outlines different types of integration architectures like external, enterprise, batch-based, and event-based integration. It also discusses common misconceptions around microservices, such as thinking microservices refer to exposed APIs rather than application components. The summary concludes by noting debates around the differences between microservices and service-oriented architecture (SOA).

esbmicroservicessoa
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...

The document discusses iPaaS and cloud integration platforms. It describes Xactly's use of SnapLogic for integrating various SaaS applications like Salesforce, Workday and NetSuite OpenAir. Xactly needed a platform to create a single view of customers across different systems and apps. SnapLogic provided ease of use, flexibility and a cloud-based architecture. The presentation also demonstrates SnapLogic's elastic integration capabilities and how it can integrate big data in Hadoop.

enterprise application integrationipaascloud integration
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices

There is a renaissance underway in the messaging space. Due to the demands of IoT networks, cloud native apps, and microservices developers are looking for simple, fast, messaging systems. This is a sharp contrast to how traditional messaging was done. This webinar will cover: - The basics of messaging patterns - What makes NATS unique - Using a demo inspired by Pokemon Go as an example

open source messagingcloud nativecloud computing
RED HAT | Fabric8 Rocks!49
Micromessaging anti-patterns
• Any pattern that is transactional in nature
e.g. Transactional Client
• Any pattern that relies on Message Persistence
Durable Subscriber, Guaranteed Delivery
• Any pattern where the message system inspects, or
selectively routes messages
Message Filter, Content Based Routing, Content Enricher
RED HAT | Fabric8 Rocks!50
Micromessaging: what to use ?
Qpid Dispatch
Router
RED HAT | Fabric8 Rocks!51
RED HAT | Fabric8 Rocks!52
Demo:
Variance
Collector
Compare Interprocess
communication:
HTTP vs Messaging

Recommended for you

Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafka

Talk given at the Apache Kafka NYC Meetup, October 20, 2015. http://www.meetup.com/Apache-Kafka-NYC/events/225697500/ Kafka has emerged as a clear choice for a high-throughput, low latency messaging system that addresses the needs of high-performance streaming applications. The Spring Framework has been, in the last decade, the de-facto standard for developing enterprise Java applications, providing a simple and powerful programming model that allows developers to focus on the business needs, leaving the boilerplate and middleware integration to the framework itself. In fact, it has evolved into a rich and powerful ecosystem, with projects focusing on specific aspects of enterprise software development - like Spring Boot, Spring Data, Spring Integration, Spring XD, Spring Cloud Stream/Data Flow to name just a few. In this presentation, Marius Bogoevici from the Spring team will take the perspective of the Kafka user, and show, with live demos, how the various projects in the Spring ecosystem address their needs: - how to build simple data integration applications using Spring Integration Kafka; - how to build sophisticated data pipelines with Spring XD and Kafka; - how to build cloud native message-driven microservices using Spring Cloud Stream and Kafka, and how to orchestrate them using Spring Cloud Data Flow;

Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...

How do Google, Twitter, and Instagram ensure fast application performance at scale? One technique is asynchronous messaging using RabbitMQ to prevent application bottlenecks. In this session, we’ll cover common asynchronous messaging patterns and how to implement them in RabbitMQ, common pitfalls to avoid, and how to cluster RabbitMQ for increased scalability and reliability.

amqpmqttmessaging
Picking a message queue
Picking a  message queuePicking a  message queue
Picking a message queue

This document discusses various message queue technologies including RabbitMQ, ZeroMQ, cloud-based options like Azure Service Bus and Amazon SQS/SNS, and the lightweight NATS system. It provides overviews of each technology, highlighting key features, protocols, and use cases. Examples and code demos are shown for RabbitMQ and ZeroMQ. The document aims to help readers understand different message queue options and pick the most suitable one based on their distributed system and cloud hosting needs.

messagingawsazure
RED HAT | Fabric8 Rocks!53
Standard Deviation Processor:
public void process(Exchange exchange) throws Exception {
String message = exchange.getIn().getBody(String.class);
ObjectMapper objectMapper = new ObjectMapper();
TypeFactory typeFactory = objectMapper.getTypeFactory();
List<Double> values = objectMapper.readValue(message,
typeFactory.constructCollectionType(List.class, Double.class));
SummaryStatistics summaryStatistics = new SummaryStatistics();
List<Double> list = new ObjectMapper().readValue(message, List.class);
for (Double value : list) {
summaryStatistics.addValue(value);
}
String stdDev = Double.toString(summaryStatistics.getStandardDeviation());
exchange.getOut().setBody(stdDev);
}
RED HAT | Fabric8 Rocks!54
Standard Deviation Route:
@ContextName("stddevCamel")
public class StdDevHTTP extends RouteBuilder {
@Inject
StdDevProcessor processor;
@Override
public void configure() throws Exception {
from("jetty:http://0.0.0.0:8183/std-dev").doTry()
.process(processor)
.doCatch(Throwable.class)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500))
.setBody(constant("{"error" : "Service failed"}"))
.end();
}
}
RED HAT | Fabric8 Rocks!55
HTTP Calculator
@Override
public void configure() throws Exception {
onException(Throwable.class).maximumRedeliveries(-1).delay(5000);
from("direct:start")
.multicast()
.parallelProcessing().timeout(10000).to(stdDevService,
varianceService)
.end().setHeader("name", constant("HTTP")).to(collectorService);
}
RED HAT | Fabric8 Rocks!56
HTTP Calculator
@Inject
@Uri("netty4-http:http://{{service:collector-http:localhost:8184}}/results/http")
private Endpoint collectorService;
@Inject
@Uri("netty4-http:http://{{service:variance-http:localhost:8182}}/variance")
private Endpoint varianceService;
@Inject
@Uri("netty4-http:http://{{service:std-dev-http:localhost:8183}}/std-dev")
private Endpoint stdDevService

Recommended for you

Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT

Scale changes everything. Number of connections and destinations went from dozen to thousands, number of messages increased by order of magnitude. What once was quite adequate for enterprise messaging can't scale to support "Internet of Things". We need new protocols, patterns and architectures to support this new world. This session will start with basic introduction to the concept of Internet of things. Next it will discuss general technical challenges involved with the concept and explain why it is becoming mainstream now. Now we're ready to start talking about solutions. We will introduce some messaging patterns (like telemetry and command/control) and protocols (such as MQTT and AMQP) used in these scenarios. Finally we will see how Apache ActiveMQ is gearing up for this race. We will show tips for horizontal and vertical scaling of the broker, related projects that can help with deployments and what the future development road map looks like.

messagingamqpactivemq
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT

In this webinar HiveMQ CTO Dominik Obermaier will cover everything you need to know about creating a lightweight and scalable IoT message architecture. He will discuss the open source projects you need to deploy and manage an MQTT based IoT architecture. Don't miss your chance to learn about HiveMQ and the concept of MQTT! The recording of this webinar is available on Youtube:

mqttmqtt brokeropen source
Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTT

MQTT is the de-facto protocol for the Internet of Things (IoT). This webinar covers everything you need to know about scalable pub/sub communication with MQTT for up to millions of devices and shows the available software options in the (open source) ecosystem. About the Speaker. Dominik Obermaier is CTO and co-founder of HiveMQ. He is a member of the OASIS Technical Committee and is part of the standardization committee for MQTT 3.1.1 and MQTT 5. He is the co-author of the book 'The Technical Foundations of IoT' and a frequent speaker on IoT, MQTT, and messaging. To watch the webinar recording: https://www.hivemq.com/webinars/lightweight-and-scalable-iot-messaging-with-mqtt/

internet of thingsmqttiot messaging
RED HAT | Fabric8 Rocks!57
Messaging Calculator
Endpoint jmsSender = getContext().getEndpoint("jms:topic:"
+ CALCULATION_TOPIC
+ "?preserveMessageQos=true"
+ "&replyTo=" + RESULT_QUEUE
+"&replyToType=Exclusive"
+ "&asyncConsumer=true"
+ "&asyncStartListener=true"
+ "&concurrentConsumers=10");
RED HAT | Fabric8 Rocks!58
Messaging Calculator
from("jms:queue:”+RESULT_QUEUE).aggregate(header(CORRELATION_HEADER),
new AggregationStrategy() {
@Override
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
if (oldExchange == null) {
return newExchange;
}
String oldBody = oldExchange.getIn().getBody(String.class);
String newBody = newExchange.getIn().getBody(String.class);
oldExchange.getIn().setBody(oldBody + "+" + newBody);
return oldExchange;
}
}).completionSize(NUMBER_OF_SERVICES).completionTimeout(2000)
.setHeader("name", constant("MSG")).to(collectorService);
RED HAT | Fabric8 Rocks!59
The Collector:
@ContextName("collectorCamel")
public class CollectorHTTP extends RouteBuilder {
@Override
public void configure() throws Exception {
getContext().addRoutePolicyFactory(new MetricsRoutePolicyFactory());
from("jetty:http://0.0.0.0:8184/results/http”).setId("HTTP");
from("jetty:http://0.0.0.0:8184/results/msg”).setId("MSG");
}
}
RED HAT | Fabric8 Rocks!60
Links:Links:
http://camel.apache.orghttp://camel.apache.org
http://fabric8.iohttp://fabric8.io
https://github.com/rajdavies/microservices-exampleshttps://github.com/rajdavies/microservices-examples

Recommended for you

A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT

MQTT is by far the most popular Internet of Things protocol used in the largest professional IoT deployments worldwide. The protocol is so simple and versatile, that it can be used for private home automation projects as well as ultra-secure and highly scalable enterprise installations. This talk will show how a pure Java and open source technology stack can be used for IoT devices as well as backend applications for building next-generation IoT projects.

mqttjavaopen source
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English

MQTT is a lightweight publish/subscribe messaging protocol that is ideal for constrained environments like sensors and mobile devices. It was invented in 1999 by IBM employees Dr. Andy Stanford-Clark and Arlen Nipper. MQTT uses a broker-based messaging model with a publish/subscribe pattern, and supports three qualities of service. It has been widely adopted in applications involving sensors, mobile devices, and the Internet of Things.

mqtt mqtt-sn
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...

This document discusses software-based networking and network function virtualization (NFV). It introduces NetVM, an NFV platform developed by the author that provides high performance packet delivery across virtual machines using DPDK for zero-copy networking. NetVM enables complex network services to be distributed across multiple VMs while maintaining high throughput. The author also discusses OpenNetVM, an open source version of NetVM, and contributions like Flurries that enable unique network functions to run per flow for improved scalability. NFVnice, a userspace framework for scheduling NFV chains, is also introduced to improve throughput, fairness and CPU utilization.

dpdk summit na 2017

More Related Content

What's hot

Protecting your data at rest with Apache Kafka by Confluent and Vormetric
Protecting your data at rest with Apache Kafka by Confluent and VormetricProtecting your data at rest with Apache Kafka by Confluent and Vormetric
Protecting your data at rest with Apache Kafka by Confluent and Vormetric
confluent
 
Microservices with Node and Docker
Microservices with Node and DockerMicroservices with Node and Docker
Microservices with Node and Docker
Tony Pujals
 
Jelastic - Containers Live Migration Behind the Scene
Jelastic - Containers Live Migration Behind the SceneJelastic - Containers Live Migration Behind the Scene
Jelastic - Containers Live Migration Behind the Scene
Jelastic Multi-Cloud PaaS
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
Bruno Pedro
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
Chiradeep Vittal
 
Microservices: State of the Union
Microservices: State of the UnionMicroservices: State of the Union
Microservices: State of the Union
C4Media
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
confluent
 
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service ProvidersJelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic Multi-Cloud PaaS
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka
László-Róbert Albert
 
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
Building Stream Infrastructure across Multiple Data Centers with Apache KafkaBuilding Stream Infrastructure across Multiple Data Centers with Apache Kafka
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
Guozhang Wang
 
Jelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid CloudJelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid Cloud
Jelastic Multi-Cloud PaaS
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf
Achim Nierbeck
 
Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel Components
Christian Posta
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
Chhavi Parasher
 
NFV Orchestration for Optimal Performance
NFV Orchestration for Optimal PerformanceNFV Orchestration for Optimal Performance
NFV Orchestration for Optimal Performance
dfilppi
 
Microservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache CassandraMicroservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache Cassandra
Jorge Bay Gondra
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
Jeff Holoman
 
WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh?
Anton Weiss
 
RedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in EquinixRedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in Equinix
Redis Labs
 

What's hot (20)

Protecting your data at rest with Apache Kafka by Confluent and Vormetric
Protecting your data at rest with Apache Kafka by Confluent and VormetricProtecting your data at rest with Apache Kafka by Confluent and Vormetric
Protecting your data at rest with Apache Kafka by Confluent and Vormetric
 
Microservices with Node and Docker
Microservices with Node and DockerMicroservices with Node and Docker
Microservices with Node and Docker
 
Jelastic - Containers Live Migration Behind the Scene
Jelastic - Containers Live Migration Behind the SceneJelastic - Containers Live Migration Behind the Scene
Jelastic - Containers Live Migration Behind the Scene
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
Microservices: State of the Union
Microservices: State of the UnionMicroservices: State of the Union
Microservices: State of the Union
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
 
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service ProvidersJelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka
 
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
Building Stream Infrastructure across Multiple Data Centers with Apache KafkaBuilding Stream Infrastructure across Multiple Data Centers with Apache Kafka
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
 
Jelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid CloudJelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid Cloud
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf
 
Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel Components
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
 
NFV Orchestration for Optimal Performance
NFV Orchestration for Optimal PerformanceNFV Orchestration for Optimal Performance
NFV Orchestration for Optimal Performance
 
Microservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache CassandraMicroservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache Cassandra
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh?
 
RedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in EquinixRedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in Equinix
 

Viewers also liked

REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
Eberhard Wolff
 
StormMQ Introduction to AMQP, Dublin
StormMQ Introduction to AMQP, DublinStormMQ Introduction to AMQP, Dublin
StormMQ Introduction to AMQP, Dublin
StormMQ
 
Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!
Debasish Patra
 
Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
Dennis van der Stelt
 
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris WolfC* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
DataStax Academy
 
Introduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupIntroduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users Group
Roy Russo
 
Open Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptxOpen Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptx
OpenStack Foundation
 
IPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration AnalysisIPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration Analysis
Jesus Rodriguez
 
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the Cloud
Rob Davies
 
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the CloudCassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
DataStax
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important
WSO2
 
iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric Technology
Charles Moulliard
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker
Amazon Web Services
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticity
Harish Ganesan
 
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec..."Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
New Relic
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
Kim Clark
 
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
SnapLogic
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
Apcera
 
Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafka
marius_bogoevici
 

Viewers also liked (20)

REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
StormMQ Introduction to AMQP, Dublin
StormMQ Introduction to AMQP, DublinStormMQ Introduction to AMQP, Dublin
StormMQ Introduction to AMQP, Dublin
 
Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!
 
Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
 
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris WolfC* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
 
Introduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupIntroduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users Group
 
Open Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptxOpen Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptx
 
IPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration AnalysisIPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration Analysis
 
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the Cloud
 
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the CloudCassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important
 
iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric Technology
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticity
 
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec..."Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafka
 

Similar to Messaging For the Cloud and Microservices

Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Al Sargent
 
Picking a message queue
Picking a  message queuePicking a  message queue
Picking a message queue
Vladislav Kirshtein
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
dejanb
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
Dominik Obermaier
 
Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTT
HiveMQ
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT
Dominik Obermaier
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
Eric Xiao
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK
 
IBM Messaging in the Cloud
IBM Messaging in the CloudIBM Messaging in the Cloud
IBM Messaging in the Cloud
matthew1001
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2
 
What is RabbitMQ ?
What is RabbitMQ ?What is RabbitMQ ?
What is RabbitMQ ?
AIMDek Technologies
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
sedukull
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
Virtual JBoss User Group
 
Vsat day-2008-idirect
Vsat day-2008-idirectVsat day-2008-idirect
Vsat day-2008-idirect
SSPI Brasil
 
Kafka talk
Kafka talkKafka talk
Kafka talk
Maheedhar Gunturu
 
RabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client libraryRabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client library
Mohammed Shaban
 
Integrating Unified Communications and Collaboration on an Aruba Access Network
Integrating Unified Communications and Collaboration on an Aruba Access NetworkIntegrating Unified Communications and Collaboration on an Aruba Access Network
Integrating Unified Communications and Collaboration on an Aruba Access Network
Aruba, a Hewlett Packard Enterprise company
 
CoLab session 1 deployment best practices and architecture
CoLab session 1   deployment best practices and architectureCoLab session 1   deployment best practices and architecture
CoLab session 1 deployment best practices and architecture
Christina Inge
 
Multicast QUIC for video content delivery
Multicast QUIC for video content deliveryMulticast QUIC for video content delivery
Multicast QUIC for video content delivery
Jisc
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise Computing
HiveMQ
 

Similar to Messaging For the Cloud and Microservices (20)

Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...
 
Picking a message queue
Picking a  message queuePicking a  message queue
Picking a message queue
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
 
Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTT
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
 
IBM Messaging in the Cloud
IBM Messaging in the CloudIBM Messaging in the Cloud
IBM Messaging in the Cloud
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
 
What is RabbitMQ ?
What is RabbitMQ ?What is RabbitMQ ?
What is RabbitMQ ?
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
 
Vsat day-2008-idirect
Vsat day-2008-idirectVsat day-2008-idirect
Vsat day-2008-idirect
 
Kafka talk
Kafka talkKafka talk
Kafka talk
 
RabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client libraryRabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client library
 
Integrating Unified Communications and Collaboration on an Aruba Access Network
Integrating Unified Communications and Collaboration on an Aruba Access NetworkIntegrating Unified Communications and Collaboration on an Aruba Access Network
Integrating Unified Communications and Collaboration on an Aruba Access Network
 
CoLab session 1 deployment best practices and architecture
CoLab session 1   deployment best practices and architectureCoLab session 1   deployment best practices and architecture
CoLab session 1 deployment best practices and architecture
 
Multicast QUIC for video content delivery
Multicast QUIC for video content deliveryMulticast QUIC for video content delivery
Multicast QUIC for video content delivery
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise Computing
 

Recently uploaded

Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
Hironori Washizaki
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Development of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML TechnologiesDevelopment of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML Technologies
MaisnamLuwangPibarel
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
sachin chaurasia
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
sachin chaurasia
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 

Recently uploaded (20)

Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Development of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML TechnologiesDevelopment of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML Technologies
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 

Messaging For the Cloud and Microservices

  • 1. Messaging for the Cloud and Microservices Rob Davies 2015
  • 2. RED HAT | Fabric8 Rocks!2 Rob Davies • Director of Middleware Engineering for xPaaS • Over 20 years experience of developing large scale solutions for telcos and finance • Creator of ActiveMQ and ServiceMix • Committer on open source projects, including fabric8, Apache Camel and other stuff …
  • 3. RED HAT | Fabric8 Rocks!3 All singing, all dancing scalable messaging for the cloud AND … Messaging for Microservices
  • 4. RED HAT | Fabric8 Rocks!4 Why do we use messaging ? • Robustness to change • Time independence • Hide latency • Event driven • Platform and language independence Broker Message in Message out after enrichment by Process B Process C Process B Process A Queue:Foo Queue:Bar
  • 5. RED HAT | Fabric8 Rocks!5 Traditional Enterprise Message brokers • Designed to support many different messaging patterns • highly available • Support clustering • Support store and forward • But – are usually very static in nature
  • 6. RED HAT | Fabric8 Rocks!6 Core Messaging Patterns …
  • 7. RED HAT | Fabric8 Rocks!7 Requestor Core Message Pattern: Request/Reply Servic e
  • 8. RED HAT | Fabric8 Rocks!8 Producer Core Message Pattern: Queue Consumer Consumer Consumer
  • 9. RED HAT | Fabric8 Rocks!9 Core Message Pattern: Publish/Subscribe Consumer Consumer Consumer Producer
  • 10. RED HAT | Fabric8 Rocks!10 Message Channels and Filters
  • 11. RED HAT | Fabric8 Rocks!11 Message Routing: Selectors Producer Destination Consumer Color = red Consumer Color = blue
  • 12. RED HAT | Fabric8 Rocks!12 Message Routing: Destination Wildcards • * matches a subject • > matches sub-tree Topic: BAR.BEER.WHITE Topic: BAR.WINE.WHITE Producer Consumer Topic:BAR.WINE.WHITE Consumer Topic:BAR.BEER.WHITE Consumer Topic:BAR.*.WHITE Consumer Topic:BAR.>
  • 13. RED HAT | Fabric8 Rocks!13 Message Groups Producer Consumer Consumer Consumer Queue:Prices Message message = session.createTextMessage(“Hi DWP”); message.setStringProperty("JMSXGroupID", ”JavaRocks"); producer.send(message);
  • 14. RED HAT | Fabric8 Rocks!14 Scaling Messaging – the traditional way …
  • 15. RED HAT | Fabric8 Rocks!15 Client Scaling: Message Bus
  • 16. RED HAT | Fabric8 Rocks!16 Client Scaling: Message Bus
  • 17. RED HAT | Fabric8 Rocks!17 Broker Scaling: Message BusMessage throughput requirement exceeds broker capacity
  • 18. RED HAT | Fabric8 Rocks!18 Broker Scaling: Message Bus Message Bus
  • 19. RED HAT | Fabric8 Rocks!19 Broker Scaling: Message Bus Message Bus
  • 20. RED HAT | Fabric8 Rocks!20 Broker Scaling: Message Bus Message Bus Message BusMessage Bus
  • 21. RED HAT | Fabric8 Rocks!21 Broker Scaling: Problems Message Bus Message Bus Message BusMessage Bus • Diminished returns • Focused Overload • Stranded Capacity
  • 22. RED HAT | Fabric8 Rocks!22 How do we scale Messaging for the Cloud ?
  • 23. RED HAT | Fabric8 Rocks!23 Requirements for Messaging as a Service • Needs to support many thousands of clients • Flexible, brokers need to be spun up and down, based on demand • Client connections may need to be multiplexed, to decrease the load on individual message brokers • Popular messaging protocols support • Flexible routing needs to be supported
  • 24. RED HAT | Fabric8 Rocks!24 What contenders are already out there ?
  • 25. RED HAT | Fabric8 Rocks!25 ActiveMQ HornetQ RabbitMQ Proprietary Enterprise Messaging
  • 26. RED HAT | Fabric8 Rocks!26 Apache Kafka • Publish/Subscribe messaging – rethought as a distributed commit log • Designed for fast data ingestion of logs • Scalable – designed to allow a single cluster to act as a messaging platform, allowing for elastic expansion with no downtime • Messages are persisted to disk, and replicated to prevent data loss • Allows partitioning of data streams across cluster of machines • Created at Linkedin – donated to the ASF
  • 27. RED HAT | Fabric8 Rocks!27 Apache Kafka Architecture ZooKeeper BrokerBrokerBroker Broker Producer Producer Consumer Consumer
  • 28. RED HAT | Fabric8 Rocks!28 Apache Kafka Performance https://cwiki.apache.org/confluence/display/KAFKA/Kafka+papers+and+presentations From: Kafka: A distributed Messaging System for log processing, Jun Rao
  • 29. RED HAT | Fabric8 Rocks!29 Apache Kafka – Differences with a Message Broker • Distributed commit log – broker maintains no state • Niche – so works really well for a particular set of use cases • Proprietary • Written in Scala • Consumers have to maintain state
  • 30. RED HAT | Fabric8 Rocks!30 Kubernetes Helps
  • 31. RED HAT | Fabric8 Rocks!31 Fabric8 MQ – not a message broker – but a scalable messaging system Many concurrent connections, one out Flexible Protocols Multiplex Connections Vert.x Core Embedded Camel, Integration with APIMan OpenWire, STOMP MQTT AMQP WebSockets – all done asynchronously Scaling Connections NOT a problem Destination Sharding
  • 32. RED HAT | Fabric8 Rocks!32 Fabric8 MQ Independently scalable: Node Pod ActiveMQ Broker AMQ Replication Controller Node Pod ActiveMQ Broker Node Pod ActiveMQ Broker Fabric8MQ Replication Controller Vert.x Vert.x Vert.x Multiplexer Multiplexer Multiplexer Fabric8MQ Vert.x Vert.x Vert.x Multiplexer Multiplexer Multiplexer Fabric8MQ Vert.x Vert.x Vert.x Multiplexer Multiplexer Multiplexer Fabric8MQ
  • 33. RED HAT | Fabric8 Rocks!33 Fabric8 MQ Message Flow: Protocol Conversion Camel Routing API Management Multiplexer Destination Sharding Broker Control
  • 34. RED HAT | Fabric8 Rocks!34 Qpid Dispatch Router BrokerBrokerBroker Broker Producer ProducerConsumer Consumer Router Router Router Router AMQP 1.0
  • 35. RED HAT | Fabric8 Rocks!35 Multiplexing • Brokers performs better the lower the number of connections – less contention • IoT applications have long lived connections, but small amount of traffic • All configurable – you can decide how fine or coarse grained you want multiplexing • Dispatch Router does this automatically
  • 36. RED HAT | Fabric8 Rocks!36 Destination Sharding: Benefits • There is an overhead associated with a Destination – restrict the number of Destinations per Broker to improve performance • Co-locate producers and consumers of a Destination to the same broker reduces latency and improves overall performance • Increased scalability for your messaging solution • Dispatch Router does this automatically
  • 37. RED HAT | Fabric8 Rocks!37 Red Hat Messaging – how we plan to tackle messaging for the cloud …
  • 38. RED HAT | Fabric8 Rocks!38 What we have today  Separate clients tied to broker- specific protocols  Limited integration between brokers & overlapping capabilities MRG-M (Apache Qpid C++ broker) •AMQP, high performance, routing, HA •No longer sold but actively supported M. MQ 6.x (Apache ActiveMQ 5.x Java broker) • Multi-protocol JMS-oriented broker • Large user community, rich feature set EAP HornetQ JMS Messaging Broker (HornetQ GitHub project) •Multi-protocol JMS-oriented broker •JMS 2.0, best-in-class SpecJMS performance MRG-M 3.1 A-MQ 6.x HornetQ EAP6
  • 39. RED HAT | Fabric8 Rocks!39 Clients A-MQ Where we’re going • Consolidate to a single messaging product, known as A-MQ • Consists of three components: Broker, Interconnect & Clients • Developed in open, community-based, upstream projects and leveraging open, standards-based protocols Broker Interconnect
  • 40. RED HAT | Fabric8 Rocks!40 Where we’re going M. MQ Broker • Full-featured, high-performance, multi-protocol enterprise broker • HA through replication and failover M. MQ Interconnect Router • Large-scale, secure, reliable, and manageable messaging networks • Use with or without broker. HA through redundant routing. M. MQ Clients • Ubiquitous, standards-based messaging clients for all common platforms and programming languages A- MQ A-MQ Broker Interconnect Clients
  • 41. RED HAT | Fabric8 Rocks!41 Where we’re going • AMQP (Advanced Message Queuing Protocol) • Rich semantics, multiplexing, flow control, extensible • International standard – ISO/IEC ISO 19464 • MQTT (Message Queuing Telemetry Transport) • Lightweight “first mile” telemetry • OASIS Standard; International standardization in progress • STOMP (Simple Text-Oriented Messaging Protocol) • WebSocket encapsulation A-MQ Broker Interconnect Clients
  • 42. RED HAT | Fabric8 Rocks!42 Messaging for Microservices
  • 43. RED HAT | Fabric8 Rocks!43 Reliable, Fast Communication between Services
  • 44. RED HAT | Fabric8 Rocks!44 Functional Decomposition
  • 45. RED HAT | Fabric8 Rocks!45 Micromessaging • Whilst external services should often be http – internal services do not need to be. • Using a messaging system can improve performance and scalability • Standards are important – immutable infrastructure leads to disposable infrastructure. Apply that all assets in your design.
  • 46. RED HAT | Fabric8 Rocks!46 Micromessaging: inter-service communications Broker Service A Service A Service A Service C Service A Service B Service A Service F Service A Service E Service A Service Drequest reply subscribe subscribe publishpublish
  • 47. RED HAT | Fabric8 Rocks!47 Micromessaging: Control Plane BrokerController Service A Service F Service A Service A subscribe subscribe publish {Start Processing} {Stop Processing}
  • 48. RED HAT | Fabric8 Rocks!48 Micromessaging: Stream Processing Broker publish Event Listener SMS Event Listener Event Listener HTTP Post Event Listener HTTP Post Event Listener HTTP Post Event Listener HTTP Post Event Listener HTTP Post SMTP publish publish Event Processing Engine
  • 49. RED HAT | Fabric8 Rocks!49 Micromessaging anti-patterns • Any pattern that is transactional in nature e.g. Transactional Client • Any pattern that relies on Message Persistence Durable Subscriber, Guaranteed Delivery • Any pattern where the message system inspects, or selectively routes messages Message Filter, Content Based Routing, Content Enricher
  • 50. RED HAT | Fabric8 Rocks!50 Micromessaging: what to use ? Qpid Dispatch Router
  • 51. RED HAT | Fabric8 Rocks!51
  • 52. RED HAT | Fabric8 Rocks!52 Demo: Variance Collector Compare Interprocess communication: HTTP vs Messaging
  • 53. RED HAT | Fabric8 Rocks!53 Standard Deviation Processor: public void process(Exchange exchange) throws Exception { String message = exchange.getIn().getBody(String.class); ObjectMapper objectMapper = new ObjectMapper(); TypeFactory typeFactory = objectMapper.getTypeFactory(); List<Double> values = objectMapper.readValue(message, typeFactory.constructCollectionType(List.class, Double.class)); SummaryStatistics summaryStatistics = new SummaryStatistics(); List<Double> list = new ObjectMapper().readValue(message, List.class); for (Double value : list) { summaryStatistics.addValue(value); } String stdDev = Double.toString(summaryStatistics.getStandardDeviation()); exchange.getOut().setBody(stdDev); }
  • 54. RED HAT | Fabric8 Rocks!54 Standard Deviation Route: @ContextName("stddevCamel") public class StdDevHTTP extends RouteBuilder { @Inject StdDevProcessor processor; @Override public void configure() throws Exception { from("jetty:http://0.0.0.0:8183/std-dev").doTry() .process(processor) .doCatch(Throwable.class) .setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500)) .setBody(constant("{"error" : "Service failed"}")) .end(); } }
  • 55. RED HAT | Fabric8 Rocks!55 HTTP Calculator @Override public void configure() throws Exception { onException(Throwable.class).maximumRedeliveries(-1).delay(5000); from("direct:start") .multicast() .parallelProcessing().timeout(10000).to(stdDevService, varianceService) .end().setHeader("name", constant("HTTP")).to(collectorService); }
  • 56. RED HAT | Fabric8 Rocks!56 HTTP Calculator @Inject @Uri("netty4-http:http://{{service:collector-http:localhost:8184}}/results/http") private Endpoint collectorService; @Inject @Uri("netty4-http:http://{{service:variance-http:localhost:8182}}/variance") private Endpoint varianceService; @Inject @Uri("netty4-http:http://{{service:std-dev-http:localhost:8183}}/std-dev") private Endpoint stdDevService
  • 57. RED HAT | Fabric8 Rocks!57 Messaging Calculator Endpoint jmsSender = getContext().getEndpoint("jms:topic:" + CALCULATION_TOPIC + "?preserveMessageQos=true" + "&replyTo=" + RESULT_QUEUE +"&replyToType=Exclusive" + "&asyncConsumer=true" + "&asyncStartListener=true" + "&concurrentConsumers=10");
  • 58. RED HAT | Fabric8 Rocks!58 Messaging Calculator from("jms:queue:”+RESULT_QUEUE).aggregate(header(CORRELATION_HEADER), new AggregationStrategy() { @Override public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { if (oldExchange == null) { return newExchange; } String oldBody = oldExchange.getIn().getBody(String.class); String newBody = newExchange.getIn().getBody(String.class); oldExchange.getIn().setBody(oldBody + "+" + newBody); return oldExchange; } }).completionSize(NUMBER_OF_SERVICES).completionTimeout(2000) .setHeader("name", constant("MSG")).to(collectorService);
  • 59. RED HAT | Fabric8 Rocks!59 The Collector: @ContextName("collectorCamel") public class CollectorHTTP extends RouteBuilder { @Override public void configure() throws Exception { getContext().addRoutePolicyFactory(new MetricsRoutePolicyFactory()); from("jetty:http://0.0.0.0:8184/results/http”).setId("HTTP"); from("jetty:http://0.0.0.0:8184/results/msg”).setId("MSG"); } }
  • 60. RED HAT | Fabric8 Rocks!60 Links:Links: http://camel.apache.orghttp://camel.apache.org http://fabric8.iohttp://fabric8.io https://github.com/rajdavies/microservices-exampleshttps://github.com/rajdavies/microservices-examples

Editor's Notes

  1. Scale cube from the The Art of Scalability – by Abbott and Fisher