SlideShare a Scribd company logo
1 of 37
Download to read offline
Last Updated: Jan. 2014
Senior Software Engineer
Hasitha Abeykoon
WSO2 Message
Broker 2.2.0
Ishara Premadasa
Software Engineer
2
About the Presenter(s)
๏ Hasitha Hiranya Abeykoon,
Senior Software Engineer,
WSO2.
๏ Email: hasithah@wso2.com
๏ Blog: http://abeykoon.blogspot.com/
๏ Ishara Premadasa,
Software Engineer,
WSO2.
๏ Email: ishara@wso2.com
๏ Blog:
http://isharapremadasa.blogspot.com
3
About WSO2
๏ Global enterprise, founded in
2005 by acknowledged leaders in
XML, web services technologies,
standards and open source
๏ Provides only open source
platform-as-a-service for private,
public and hybrid cloud
deployments
๏ All WSO2 products are 100% open
source and released under the
Apache License Version 2.0.
๏ Is an Active Member of OASIS,
Cloud Security Alliance, OSGi
Alliance, AMQP Working Group,
OpenID Foundation and W3C.
๏ Driven by Innovation
๏ Launched first open source API
Management solution in 2012
๏ Launched App Factory in 2Q 2013
๏ Launched Enterprise Store and
first open source Mobile solution
in 4Q 2013
4
What WSO2 delivers
Outline
1. A Brief Introduction to WSO2 Message Broker
2. What is new in MB 2.2.0
3. Example Use Cases
4. Pre-recorded demo (ESB + MB Integration using
Message Store Processor)
5. Conclusion and future work
5
Why Messaging?
๏ Enhanced reliability
๏ E.g. via persistence, transactions
๏ Decoupling
๏ Space
๏ Time
๏ Synchronization
6
Basic Messaging Models
๏ Messaging is implemented with a broker (or brokers in
the middle)
๏ Participants send messages, and broker delivers them
to recipients
๏ There are two main models
๏ Queues - A message is delivered only once to a single consumer.
๏ Publish/Subscribe: Broadcast a message to many message consumers
7
Queues
8
• A queue is a destination that contains messages sent from a producer
that await delivery to one consumer.
• Messages are delivered in the sent order.
• A message is removed from the queue once it has been acknowledged
as received by the consumer.
Topics
9
• Topics are used to send messages to one or more consumers. Producers publish
messages to a topic and each consumer subscribed to the topic receives a copy of
message
• Brokers matches events (messages) and delivers to all interested parties
• In this one-to-many messaging scenario, producers are also referred to as
publishers and consumers as subscribers
Durable Topics
10
• Broker collects messages while subscriber is offline – like a queue
• Broker distributes the messages to all interested parties – like a topic
• Each subscriber has its own internal queue until it unsubscribes
AMQP, JMS and WSO2 MB
๏ JMS (Java Message Service)
๏ A specification that define a standard API for java programmer to perform
messaging by interacting with a message broker
๏ It does not define the message format or how java API interacts with the message
broker
๏ AMQP (Advanced Message Queuing Protocol)
๏ Open standard for passing business messages between applications or
organizations.
๏ AMQP let different systems (e.g. .NET and Java) to interact with each other by
agreeing on the message format at the wire level just like Web Services.
๏ WSO2 MB (Broker)
๏ Implements and supports JMS API using AMQP protocol for messaging (All the
same, we are not limited to JMS)
11
How WSO2 MB is Different?
๏ Use Apache Cassandra as the storage for messages
those require persistence
Apache Cassandra is an open source distributed database management system. It is
designed to handle very large amounts of data spread out across many commodity
servers while providing a highly available service with no single point of failure. It has
very fast search schemes built in. Thus Cassandra is a good choice for WSO2 MB with
clustering support.
๏ Scaling – WSO2 MB can be clustered adding nodes to
meet business requirements.
Nodes can be dynamically added and removed
๏ Supports Distributed Queuing with clustering enabled
12
Why WSO2 MB is Different?
๏ Failover with no message lost – Clustering + Failover
capability brings this feature
๏ Ability to handle large message transfers in real time
As Cassandra is our storage, messages are written fast to store and we create only one
copy of message while delivery
๏ High Availability and Fault Tolerance
No single point of failure with MB cluster + Cassandra cluster + Zookeeper Cluster. All
nodes are vertically and horizontally scalable. Cassandra keep replicates of messages.
๏ Interoperability with many languages / platforms via
AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang
and more13
Why WSO2 MB is Different?
๏ Interoperability with many languages / platforms via
AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang
and more
We use AMQP internally. Thus any AMQP client is theoretically compliant
๏ Fair effort to scale in all 3 dimensions (reliability,
performance and resources)
14
WSO2 MB 2.2.0 Release
๏ A lot of bug fixes with respect to WSO2 2.1.0
๏ Fixed a lot of clustering related issues with edge cases.
๏ Stabilization of message delivery with high message concurrency.
๏ Concurrent issues arises with a Cassandra cluster.
๏ Four new features
๏ Dead Letter Channel implementation
๏ Publisher Flow control implementation
๏ MB profile support for Cassandra and Zookeeper
๏ JMS Message selectors support which was missing in 2.1.0 release
15
WSO2 MB 2.2.0 Release
๏ New features added to WSO2 MB management console
UI
๏ View active queue subscriptions in whole MB cluster
๏ View active topic subscriptions in whole MB cluster
๏ View inactive durable topic subscriptions specifically.
๏ Ability to unsubscribe inactive durable topic subscriptions with UI.
๏ Ability to deal with messages at Dead Letter Channel.
๏ Improved reliability with deleting a queue (remove queue from whole cluster).
๏ Improved reliability with message count displayed for queues.
๏ Improved security and role based access model for
queues and topics
16
WSO2 MB 2.2.0 Release
๏ Now it is even more easier to deploy WSO2 MB
๏ Tested ability to handle up to 3 million message burst
from concurrent producers with simultaneous
concurrent subscribers for queues.
๏ Improved logging – trace level logs are now separated
for easy debugging.
17
Dead Letter Channel
18
• If the subscriber
• Rejected the message
• Did not ack the sever within a configured time
• Could not receive message due to connection fail
Server will try to resend the message.
• MB server will do this for a maximum number of configured times.
• After that it will route message to DLC.
Dead Letter Channel contd..
๏ Able to view DLC messages in the Management Console
(Queue vise display).
๏ You can perform following actions on DLC messages
๏ Delete (discard mal-formatted message)
๏ Restore message to the queue (fixed the message subscribe Back End. Now ready
to go)
๏ Re-route the message to any other existing queue in MB cluster (allow some
other subscriber in the system to handle the message)
19
Flow Control – Backpressure
๏ Every system has its limits.
๏ What happens to the broker cluster if a message burst
continued to come and they need to be persisted…!!
๏ WSO2 MB 2.2.0 comes with following flow control
mechanisms.
1. Throttling based on global memory threshold
2. Throttling based on message count per connection
20
MB Profile Support
๏ You can start WSO2 MB purely as a Apache Cassandra
server.
๏ All configurations files of Cassandra are there
๏ Port is configurable with an offset
๏ Logs are written to Carbon Log
๏ Cassandra tools are also packed inside MB
๏ You can start WSO2 MB purely as a Apache Zookeeper
server.
๏ To create a complete broker cluster you only need a
WSO2 MB distribution.
21
Message Selectors
๏ A Subscriber might be interested in particular set of
messages having certain properties.
๏ It only likes to consume those messages.
๏ When subscription is make to the broker, it can specify
the message properties as a query.
22
queueReceiver= queueSession.createReceiver(queue,"(S1_double > 3.7 OR JMSType = 'TWO') AND Number > 20")
Other tit-bits
Improved SSL Support for MB 2.2.0
๏ The wire level connection between client-server can be
encrypted using SSL to provide maximum protection.
๏ Supported in both standalone and clustered mode with
failover as well.
๏ Easily configurable at the client side using AMQP
connection url.
23
A Few Example Use cases
๏ WSO2 Message Broker is part of Messaging Middleware
๏ Rather than using WSO2 MB alone, most of the time for
an integrated platform it sits in the middle of messaging
clients where message delivery reliability is needed, or
some message throttling is needed or some
asynchronous message processing is OK.
๏ Following is some real world use cases where Message
Broker comes into play.
24
Asynchronous Messaging
๏ Timely decoupled (transactions - inter departmental job
submitting and processing)
25
University Grant
Commission UniversityMessaging Middleware
Web App Messaging
Broker Cluster with Failover
26
MB1 MB2 MB3
Connection = <mb1,mb2,mb3>
Application
MB1
MB Cluster
Cassandra
Cluster
Reliable Messaging
๏ Message store processor pattern with WSO2 ESB
27
Web
Application
Enterprise Service Bus
Msg Store Msg
Processor
Data Services
Server
Oracle DB
WSO2 MB
Message Queue
HTTP to JMS JMS to HTTP
Reliable Messaging contd..
๏ Want to reliably store information to database?
๏ Message order is guaranteed
๏ Message reliability is guaranteed
๏ No message duplication is possible
28
Reliable Messaging contd..
๏ Message Store Configuration for MB
<messageStore xmlns="http://ws.apache.org/ns/synapse"
class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore"
name="JMSMS">
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
</messageStore>
๏ Message Processor Configuration for MB
<messageProcessor class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor"
name="Processor1" messageStore="JMSMS">
<parameter name="max.delivery.attempts">4</parameter>
<parameter name="interval">4000</parameter>
</messageProcessor>
29
Throttling – SAP/ESB/MB
๏ Same as above setup for reliable messaging, but
addresses a different concern.
๏ If messages are coming out from SAP very fast, we
directly store it in a WSO2 MB queue via message store.
๏ Message processor can work slowly and process the
messages with a tolerable speed.
๏ Alternatively, can use JMS proxies to send and receive
messages as JMS.
๏ Doable with an ESB cluster as well.
30
A Short Recoded Demo
31
Future Work
๏ Support for Message Queuing Telemetry Transport
(MQTT)
๏ Dynamic queue support in WSO2 MB
๏ CQL support integration over Hector to interact with
Cassandra storage
๏ Support message priority levels
32
Papers Published
๏ Perera H.S, Wickramarachchi C, Jayasinghe S.D,
Weeravarana S, *“Andes: a highly scalable persistent
messaging system”+, Web Services (ICWS), 2012 IEEE
19th International Conference, Honolulu, HI
33
Conclusion
๏ WSO2 MB 2.2.0 comes out as a more stabilized and
improved AMQP message broker with several high
demand features like DLC and Flow Control
implementation etc. The new version also includes a lot
of bug fixes which makes it robust enough to reliably
handle a bulk amount of messages with high
concurrency in a clustered environment
34
35
More Information !
๏ WSO2 MB product download page:
http://wso2.com/products/message-broker/
๏ WSO2 MB documentation:
https://docs.wso2.org/display/MB211/WSO2+Messag
e+Broker+Documentation
๏ WSO2 MB 2.2.0 cluster guide:
https://docs.wso2.org/display/CLUSTER420/Clustering
+Message+Broker
36
Business Model
Contact us !

More Related Content

What's hot

Introduction to NServiceBus
Introduction to NServiceBusIntroduction to NServiceBus
Introduction to NServiceBusEspen Ekvang
 
19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQWoo Young Choi
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2Afkham Azeez
 
Reliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerReliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerWSO2
 
Virtualising Your Data Center
Virtualising Your Data CenterVirtualising Your Data Center
Virtualising Your Data CenterLai Yoong Seng
 
Content Delivery Network
Content Delivery NetworkContent Delivery Network
Content Delivery NetworkFaisal Akbar
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows AzureDamir Dobric
 
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...T.Rob Wyatt
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceSj Lim
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabricdejanb
 
10 Tricks and Tips for WCF
10 Tricks and Tips for WCF10 Tricks and Tips for WCF
10 Tricks and Tips for WCFBarry Dorrans
 

What's hot (20)

Introduction to NServiceBus
Introduction to NServiceBusIntroduction to NServiceBus
Introduction to NServiceBus
 
19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
 
Reliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerReliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message Broker
 
Virtualising Your Data Center
Virtualising Your Data CenterVirtualising Your Data Center
Virtualising Your Data Center
 
Hyper-V in Windows 8
Hyper-V in Windows 8 Hyper-V in Windows 8
Hyper-V in Windows 8
 
Content Delivery Network
Content Delivery NetworkContent Delivery Network
Content Delivery Network
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
NServiceBus
NServiceBusNServiceBus
NServiceBus
 
Virtacore - vCloud Express
Virtacore - vCloud ExpressVirtacore - vCloud Express
Virtacore - vCloud Express
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
 
WCF Fundamentals
WCF Fundamentals WCF Fundamentals
WCF Fundamentals
 
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
 
Stonehenge
StonehengeStonehenge
Stonehenge
 
WCF
WCFWCF
WCF
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
10 Tricks and Tips for WCF
10 Tricks and Tips for WCF10 Tricks and Tips for WCF
10 Tricks and Tips for WCF
 

Similar to WSO2 Message Broker 2.2.0 Release Highlights

Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBRavindra Ranwala
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBWSO2
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message BrokerWSO2
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answersjeetendra mandal
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQRob Davies
 
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Andrew Morgan
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMongoDB
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTHenrik Sjöstrand
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
Enterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBEnterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBWSO2
 
HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009jarfield
 
SOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous QueuingSOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous QueuingWSO2
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSWSO2
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet viewyounessx01
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...WSO2
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Timothy Spann
 

Similar to WSO2 Message Broker 2.2.0 Release Highlights (20)

Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
 
IBM What's New in MQ V8
IBM What's New in MQ V8IBM What's New in MQ V8
IBM What's New in MQ V8
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of Sand
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Enterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBEnterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESB
 
HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009
 
SOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous QueuingSOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous Queuing
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet view
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
 
Jbw chicago
Jbw chicagoJbw chicago
Jbw chicago
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)
 

More from WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

More from WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Recently uploaded

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

WSO2 Message Broker 2.2.0 Release Highlights

  • 1. Last Updated: Jan. 2014 Senior Software Engineer Hasitha Abeykoon WSO2 Message Broker 2.2.0 Ishara Premadasa Software Engineer
  • 2. 2 About the Presenter(s) ๏ Hasitha Hiranya Abeykoon, Senior Software Engineer, WSO2. ๏ Email: hasithah@wso2.com ๏ Blog: http://abeykoon.blogspot.com/ ๏ Ishara Premadasa, Software Engineer, WSO2. ๏ Email: ishara@wso2.com ๏ Blog: http://isharapremadasa.blogspot.com
  • 3. 3 About WSO2 ๏ Global enterprise, founded in 2005 by acknowledged leaders in XML, web services technologies, standards and open source ๏ Provides only open source platform-as-a-service for private, public and hybrid cloud deployments ๏ All WSO2 products are 100% open source and released under the Apache License Version 2.0. ๏ Is an Active Member of OASIS, Cloud Security Alliance, OSGi Alliance, AMQP Working Group, OpenID Foundation and W3C. ๏ Driven by Innovation ๏ Launched first open source API Management solution in 2012 ๏ Launched App Factory in 2Q 2013 ๏ Launched Enterprise Store and first open source Mobile solution in 4Q 2013
  • 5. Outline 1. A Brief Introduction to WSO2 Message Broker 2. What is new in MB 2.2.0 3. Example Use Cases 4. Pre-recorded demo (ESB + MB Integration using Message Store Processor) 5. Conclusion and future work 5
  • 6. Why Messaging? ๏ Enhanced reliability ๏ E.g. via persistence, transactions ๏ Decoupling ๏ Space ๏ Time ๏ Synchronization 6
  • 7. Basic Messaging Models ๏ Messaging is implemented with a broker (or brokers in the middle) ๏ Participants send messages, and broker delivers them to recipients ๏ There are two main models ๏ Queues - A message is delivered only once to a single consumer. ๏ Publish/Subscribe: Broadcast a message to many message consumers 7
  • 8. Queues 8 • A queue is a destination that contains messages sent from a producer that await delivery to one consumer. • Messages are delivered in the sent order. • A message is removed from the queue once it has been acknowledged as received by the consumer.
  • 9. Topics 9 • Topics are used to send messages to one or more consumers. Producers publish messages to a topic and each consumer subscribed to the topic receives a copy of message • Brokers matches events (messages) and delivers to all interested parties • In this one-to-many messaging scenario, producers are also referred to as publishers and consumers as subscribers
  • 10. Durable Topics 10 • Broker collects messages while subscriber is offline – like a queue • Broker distributes the messages to all interested parties – like a topic • Each subscriber has its own internal queue until it unsubscribes
  • 11. AMQP, JMS and WSO2 MB ๏ JMS (Java Message Service) ๏ A specification that define a standard API for java programmer to perform messaging by interacting with a message broker ๏ It does not define the message format or how java API interacts with the message broker ๏ AMQP (Advanced Message Queuing Protocol) ๏ Open standard for passing business messages between applications or organizations. ๏ AMQP let different systems (e.g. .NET and Java) to interact with each other by agreeing on the message format at the wire level just like Web Services. ๏ WSO2 MB (Broker) ๏ Implements and supports JMS API using AMQP protocol for messaging (All the same, we are not limited to JMS) 11
  • 12. How WSO2 MB is Different? ๏ Use Apache Cassandra as the storage for messages those require persistence Apache Cassandra is an open source distributed database management system. It is designed to handle very large amounts of data spread out across many commodity servers while providing a highly available service with no single point of failure. It has very fast search schemes built in. Thus Cassandra is a good choice for WSO2 MB with clustering support. ๏ Scaling – WSO2 MB can be clustered adding nodes to meet business requirements. Nodes can be dynamically added and removed ๏ Supports Distributed Queuing with clustering enabled 12
  • 13. Why WSO2 MB is Different? ๏ Failover with no message lost – Clustering + Failover capability brings this feature ๏ Ability to handle large message transfers in real time As Cassandra is our storage, messages are written fast to store and we create only one copy of message while delivery ๏ High Availability and Fault Tolerance No single point of failure with MB cluster + Cassandra cluster + Zookeeper Cluster. All nodes are vertically and horizontally scalable. Cassandra keep replicates of messages. ๏ Interoperability with many languages / platforms via AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang and more13
  • 14. Why WSO2 MB is Different? ๏ Interoperability with many languages / platforms via AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang and more We use AMQP internally. Thus any AMQP client is theoretically compliant ๏ Fair effort to scale in all 3 dimensions (reliability, performance and resources) 14
  • 15. WSO2 MB 2.2.0 Release ๏ A lot of bug fixes with respect to WSO2 2.1.0 ๏ Fixed a lot of clustering related issues with edge cases. ๏ Stabilization of message delivery with high message concurrency. ๏ Concurrent issues arises with a Cassandra cluster. ๏ Four new features ๏ Dead Letter Channel implementation ๏ Publisher Flow control implementation ๏ MB profile support for Cassandra and Zookeeper ๏ JMS Message selectors support which was missing in 2.1.0 release 15
  • 16. WSO2 MB 2.2.0 Release ๏ New features added to WSO2 MB management console UI ๏ View active queue subscriptions in whole MB cluster ๏ View active topic subscriptions in whole MB cluster ๏ View inactive durable topic subscriptions specifically. ๏ Ability to unsubscribe inactive durable topic subscriptions with UI. ๏ Ability to deal with messages at Dead Letter Channel. ๏ Improved reliability with deleting a queue (remove queue from whole cluster). ๏ Improved reliability with message count displayed for queues. ๏ Improved security and role based access model for queues and topics 16
  • 17. WSO2 MB 2.2.0 Release ๏ Now it is even more easier to deploy WSO2 MB ๏ Tested ability to handle up to 3 million message burst from concurrent producers with simultaneous concurrent subscribers for queues. ๏ Improved logging – trace level logs are now separated for easy debugging. 17
  • 18. Dead Letter Channel 18 • If the subscriber • Rejected the message • Did not ack the sever within a configured time • Could not receive message due to connection fail Server will try to resend the message. • MB server will do this for a maximum number of configured times. • After that it will route message to DLC.
  • 19. Dead Letter Channel contd.. ๏ Able to view DLC messages in the Management Console (Queue vise display). ๏ You can perform following actions on DLC messages ๏ Delete (discard mal-formatted message) ๏ Restore message to the queue (fixed the message subscribe Back End. Now ready to go) ๏ Re-route the message to any other existing queue in MB cluster (allow some other subscriber in the system to handle the message) 19
  • 20. Flow Control – Backpressure ๏ Every system has its limits. ๏ What happens to the broker cluster if a message burst continued to come and they need to be persisted…!! ๏ WSO2 MB 2.2.0 comes with following flow control mechanisms. 1. Throttling based on global memory threshold 2. Throttling based on message count per connection 20
  • 21. MB Profile Support ๏ You can start WSO2 MB purely as a Apache Cassandra server. ๏ All configurations files of Cassandra are there ๏ Port is configurable with an offset ๏ Logs are written to Carbon Log ๏ Cassandra tools are also packed inside MB ๏ You can start WSO2 MB purely as a Apache Zookeeper server. ๏ To create a complete broker cluster you only need a WSO2 MB distribution. 21
  • 22. Message Selectors ๏ A Subscriber might be interested in particular set of messages having certain properties. ๏ It only likes to consume those messages. ๏ When subscription is make to the broker, it can specify the message properties as a query. 22 queueReceiver= queueSession.createReceiver(queue,"(S1_double > 3.7 OR JMSType = 'TWO') AND Number > 20")
  • 23. Other tit-bits Improved SSL Support for MB 2.2.0 ๏ The wire level connection between client-server can be encrypted using SSL to provide maximum protection. ๏ Supported in both standalone and clustered mode with failover as well. ๏ Easily configurable at the client side using AMQP connection url. 23
  • 24. A Few Example Use cases ๏ WSO2 Message Broker is part of Messaging Middleware ๏ Rather than using WSO2 MB alone, most of the time for an integrated platform it sits in the middle of messaging clients where message delivery reliability is needed, or some message throttling is needed or some asynchronous message processing is OK. ๏ Following is some real world use cases where Message Broker comes into play. 24
  • 25. Asynchronous Messaging ๏ Timely decoupled (transactions - inter departmental job submitting and processing) 25 University Grant Commission UniversityMessaging Middleware Web App Messaging
  • 26. Broker Cluster with Failover 26 MB1 MB2 MB3 Connection = <mb1,mb2,mb3> Application MB1 MB Cluster Cassandra Cluster
  • 27. Reliable Messaging ๏ Message store processor pattern with WSO2 ESB 27 Web Application Enterprise Service Bus Msg Store Msg Processor Data Services Server Oracle DB WSO2 MB Message Queue HTTP to JMS JMS to HTTP
  • 28. Reliable Messaging contd.. ๏ Want to reliably store information to database? ๏ Message order is guaranteed ๏ Message reliability is guaranteed ๏ No message duplication is possible 28
  • 29. Reliable Messaging contd.. ๏ Message Store Configuration for MB <messageStore xmlns="http://ws.apache.org/ns/synapse" class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore" name="JMSMS"> <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter> </messageStore> ๏ Message Processor Configuration for MB <messageProcessor class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor" name="Processor1" messageStore="JMSMS"> <parameter name="max.delivery.attempts">4</parameter> <parameter name="interval">4000</parameter> </messageProcessor> 29
  • 30. Throttling – SAP/ESB/MB ๏ Same as above setup for reliable messaging, but addresses a different concern. ๏ If messages are coming out from SAP very fast, we directly store it in a WSO2 MB queue via message store. ๏ Message processor can work slowly and process the messages with a tolerable speed. ๏ Alternatively, can use JMS proxies to send and receive messages as JMS. ๏ Doable with an ESB cluster as well. 30
  • 31. A Short Recoded Demo 31
  • 32. Future Work ๏ Support for Message Queuing Telemetry Transport (MQTT) ๏ Dynamic queue support in WSO2 MB ๏ CQL support integration over Hector to interact with Cassandra storage ๏ Support message priority levels 32
  • 33. Papers Published ๏ Perera H.S, Wickramarachchi C, Jayasinghe S.D, Weeravarana S, *“Andes: a highly scalable persistent messaging system”+, Web Services (ICWS), 2012 IEEE 19th International Conference, Honolulu, HI 33
  • 34. Conclusion ๏ WSO2 MB 2.2.0 comes out as a more stabilized and improved AMQP message broker with several high demand features like DLC and Flow Control implementation etc. The new version also includes a lot of bug fixes which makes it robust enough to reliably handle a bulk amount of messages with high concurrency in a clustered environment 34
  • 35. 35 More Information ! ๏ WSO2 MB product download page: http://wso2.com/products/message-broker/ ๏ WSO2 MB documentation: https://docs.wso2.org/display/MB211/WSO2+Messag e+Broker+Documentation ๏ WSO2 MB 2.2.0 cluster guide: https://docs.wso2.org/display/CLUSTER420/Clustering +Message+Broker