introduction to wso2 esb pass-through transport

13
WSO2 ESB PASS- THROUGH TRANSPORT By Chanaka Fernando

Upload: chanakaudaya

Post on 21-Nov-2014

204 views

Category:

Technology


3 download

DESCRIPTION

WSO2 ESB is the fastest open source ESB in the market. It achieves remarkable performance numbers through a special http transport implementation known as Pass-Through Transport (PTT). This presentation is an introduction to PTT.

TRANSCRIPT

Page 1: Introduction to WSO2 ESB Pass-Through Transport

WSO2 ESB PASS-THROUGH TRANSPORT

By Chanaka Fernando

Page 2: Introduction to WSO2 ESB Pass-Through Transport

WHAT IS PASS-THROUGH TRANSPORT (PTT)?

The non-blocking HTTP transport of WSO2 ESB which makes the world’s fastest open source ESB

Page 3: Introduction to WSO2 ESB Pass-Through Transport

WHY PTT FOR ESB?

!

Ultra-fast, low latency mediation of HTTP requests.

Supporting a very large number of inbound (client-ESB) and outbound (ESB-server) connections concurrently (we were looking at several thousand concurrent connections).

Automatic throttling and graceful performance degradation in the presence of slow or faulty clients and servers.

Page 4: Introduction to WSO2 ESB Pass-Through Transport

WHY NOT NHTTP?

Use dual-buffer model

Message getting build for every request

Overhead of moving data from one buffer to other

Page 5: Introduction to WSO2 ESB Pass-Through Transport

HOW PTT DO IT?

use single shared buffer

content aware message processing

Page 6: Introduction to WSO2 ESB Pass-Through Transport

CONTENT-AWARENESS

content-unaware mediators (eg: drop, send)

content-aware mediators (eg: xslt)

conditionally content-aware mediators (eg: log)

axiom engaged only necessary

Page 7: Introduction to WSO2 ESB Pass-Through Transport

PARSING MESSAGES

If content-aware then engage axiom

use second buffer when message is built

when rampart engaged, special handler checks before parsing

Page 8: Introduction to WSO2 ESB Pass-Through Transport

HIGH LEVEL ARCHITECTURE

Page 9: Introduction to WSO2 ESB Pass-Through Transport

HIGH LEVEL ARCHITECTURE

Client request comes through Http-Core towards SourceHandler

Produces data to the pipe (through decoder) and TargetHandler consumes data

If content-aware, create a secondary buffer and TargetHandler consumes data from that buffer

Page 10: Introduction to WSO2 ESB Pass-Through Transport

STATE MACHINE OF PTT

Request

Response

Page 11: Introduction to WSO2 ESB Pass-Through Transport

STATE MACHINE OF PTT

message is divided into HEADER and BODY

when client connects goes to REQUEST_READY

start receiving data, reads the header and goes to REQUEST_HEAD

reads the message body and goes to REQUEST_BODY

when finishes reading, goes to REQUEST_DONE

Page 12: Introduction to WSO2 ESB Pass-Through Transport

WHERE IS PTT?

Page 13: Introduction to WSO2 ESB Pass-Through Transport

REFERENCES

http://techfeast-hiranya.blogspot.com/2013/02/how-worlds-fastest-esb-was-made.html

http://shafreenanfar.blogspot.com/2014/02/wso2-esb-passthrough-transport-basics.html