SlideShare a Scribd company logo
lean enterprise middlewareHigh Volume Web API Managementwith WSO2 ESBPaul Fremantle, CTO and Co-FounderHiranyaJayathilaka, Associate Technical Lead© WSO2 2011. Not for redistribution.
WSO2 OfferingsWSO2 CarbonOn premise product platformConsistent products sharing the same OSGi coreWSO2 StratosA “Cloud-Enabled Application Platform” (CEAP)Multi-tenant, Elastic, Metered/Billed deploymentAn extension of the Carbon platform Same SVN code treeWSO2 StratosLivehttp://cloud.wso2.comA running Platform-as-a-Service (PaaS)An instance of Stratos© WSO2 2011
ForresterWaveTM  ESB Q2 2011 - Leader
© WSO2 2011WSO2 ESB 4.0
WSO2 ESB FeaturesThe WSO2 Enterprise Service Bus offers:Easy configuration through an intuitive graphical interface Lean, high-performance design conserves resources through maximum efficiency.Built on the WSO2 Carbon OSGi platform: adding new capabilities as you need them is a snap.Integrates with your existing systems, with support for EDI, CSV, Files, FIX, HL7, SAP, JMS, etcAsynchronous architecture supports very high loads with fixed resources Routing, mediation and transformation are modular, extensible but provide most use-cases simply by sequencing built-in mediatorsFull support for SOAP/WS-* and REST© WSO2 2011
Key Features for High Volume Web API Load Balancing and Failover built-inPluggable models can include affinity based LBFull REST Support (XML and JSON)Especially used in Mobile environmentsCan bridge into SOAP or other enterprise systemsMessage Relay Mode and Relay TransportExcellent performance for 100% streamingPriority Execution, Cache and ThrottlingManage workloads within the ESB as well as throttle backendCache content locally if appropriateService ChainingAsynchronous lightweight orchestration© WSO2 2011
eBay Case Study – High VolumeRequirements:“The solutions we were using no longer met our needs, so we considered whether to build a new internal system or to adopt third-party technology”, Abhinav Kumar, eBayNeeded enhanced service mediation and orchestration capabilities Scalability and performance to sustain increasing loadsEvaluation:eBay evaluated several industry leading hardware and software ESB solutions, looking at open source, commercially licensed ESBs and hardwareTest production during 2009 holiday season proved that our system was rock solid1m messages/day with zero downtime, zero memory growthResultsShared-nothing architecture on RedHat Linux on x86 hardwareCurrently running at more than 1 billion messages / day Low resource utilization and flat memory usageThe benefits“Using the WSO2 ESBs, we've been able to provide customers and partners with the quality experience they expect on eBay, even as our global customer base has grown,” Abhinav Kumar© WSO2 2011
Memory Usage at eBay© WSO2 2011
Deployment© WSO2 2011
Configuring for High VolumeOperating System JVMESBManagement© WSO2 2011
Tuning the OSOptimize core network settings for high throughput network activity
/etc/sysctl.conf
Increase the number of open file descriptors allowed by the OS
/etc/security/limits.confTuning the JVMAllocate sufficient memory for the heap
-Xms256m -Xmx2048m -XX:MaxPermSize=256m
Consider reducing the new ratio
-XX:NewRatio=n
Consider using the concurrent mark and sweep collector
-XX:+UseConcMarkSweepGC
Read more on JVM and GC tuning
http://wso2.org/library/articles/2010/11/taming-java-garbage-collectorTuning the ESBConfigure transport thread pools
Configured through nhttp.properties file
IO dispatcher threads carry out network IO at the wire level
Recommended to have one IO dispatcher per CPU core
Server workers and client workers mediate the messages
More the merrier (But keep memory usage and load in mind)Message Relay ModeWSO2 ESB uses Apache AXIOM and the StAX API for processing XML
XML payloads are streamed through the ESB
Pull parsing model
But for pure routing, load-balancing and header-only mediation we can avoid even this step

More Related Content

High Volume Web API Management with the WSO2 ESB