+ All Categories
Home > Technology > Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Date post: 13-Feb-2017
Category:
Upload: wso2-inc
View: 535 times
Download: 1 times
Share this document with a friend
22
Improved Business Availability and Scalability with WSO2 ESB 4.9.0’s New Coordination Framework Ravindra Ranwala Software Engineer Nadeeshaan Gunasinghe Software Engineer Nov 2015
Transcript
Page 1: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Improved Business Availability and Scalability with WSO2 ESB 4.9.0’s New

Coordination Framework

Ravindra RanwalaSoftware Engineer

Nadeeshaan GunasingheSoftware Engineer

Nov 2015

Page 2: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

About the Presenters

● Ravindra Ranwala Software Engineer WSO2

● Nadeeshaan Gunasinghe Software Engineer WSO2

Page 3: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Outline● Business Availability

● Business Scalability

● Coordination Support in WSO2 ESB

○ Message Processor

○ Scheduled Tasks

● Demonstration on Tasks and Message Processor in a Clustered Environment

● Conclusion

● Q&A

Page 4: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Business Availability

● Ensure your systems run most of the time without interruptions

● How to Achieve

○ Avoiding Single point of failures

● Real world Implementation

○ Clusters of Service Nodes

Page 5: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Business Scalability

● Definition: Accepts increased traffic in graceful and controlled manner

● How to Achieve

○ By adding more nodes to a system

● Real World Implementation

○ Clustering the Nodes

Page 6: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Task Coordination Support in WSO2 ESB

● Using the much faster coordination support of the Carbon framework

● Scheduled Tasks and Message Processors

○ Deploying in the clusters and coordination across the nodes

○ Continuously running as long as there is at least one node is up and

running

Page 7: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Message Processor● Guaranteed delivery with store and forward mechanism

● Rate matching/ Throttling can be done by using the Sampling Processor

● JMS Message broker as the persistence store – WSO2 MB, Apache ActiveMQ etc.

● MP Coordination support - Clustered Environment

○ Yields high Availability and Scalability

Page 8: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Store And Forward - Guaranteed Delivery

● Scheduled Message Forwarding Processor can be used.

Page 9: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Store and Forward - Request Rate Matching

● Sampling Message Processor can be used.

Page 10: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

MP Coordination Support - Single Task

Page 11: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

MP Coordination Support - Multiple Tasks

Page 12: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Tasks● Facilitate to run a job triggered by a timer

● WSO2 ESB has it’s inbuilt task support to allow injecting messages to ESB in scheduled

intervals

● Task Trigger types

○ Specifying the count and interval

○ Cron expressions

○ Making the task run only once with the once atribute

Page 13: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Tasks Ctd..● Writing own tasks with custom Java Classes implementing org.apache.synapse.startup.Task

Interface

Page 14: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Tasks Ctd..

Page 15: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Tasks Ctd..

● Source Configuration for scheduling the task

<task class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz" name="SimpleStockQuoteTask">

<trigger count="12" interval="60"/>

</task>

Page 16: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Tasks Ctd..

● Injecting a Message to a Specified Sequence through a task

<task name="SampleInjectToSequenceTask" class="org.apache.synapse.startup.tasks.MessageInjector" roup="synapse.simple.quartz">

<trigger count="2" interval="5"/>

<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="injectTo" value="sequence"/>

<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">

<m0:getQuote xmlns:m0="http://services.samples">

<m0:request>

<m0:symbol>IBM</m0:symbol>

</m0:request>

</m0:getQuote>

</property>

<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="sequenceName" value="SampleSequence"/>

</task>

Page 17: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Tasks Ctd..

● Injecting a Message to a Specified proxy service through a task

<task name="SampleInjectToProxyTask" class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz">

<trigger count="2" interval="5"/>

<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">

<m0:getQuote xmlns:m0="http://services.samples">

<m0:request>

<m0:symbol>IBM</m0:symbol>

</m0:request>

</m0:getQuote>

</property>

<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="proxyName" value="SampleProxy"/>

<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="injectTo" value="proxy"/>

</task>

Page 18: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Scheduled Task Demo

Page 19: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Q & A

Page 20: Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

Thank You


Recommended