Forum Discussion
Balancing transactions on a single connection to different pools
I have a long-running TCP connection over which multiple transactions flow. Every transaction has a value that can be used as a 'key', allowing me to partition the transactions into two groups (e.g. key < 1000; key >= 1000). Is it possible to use an iRule to send 'group1' transactions to one pool and 'group2' to a different pool? The difficulty I'm running into is that I need a single TCP connection from the client side to result in two TCP connections on the F5 -- one to pool1 and one to pool2.
1 Reply
- Brad_Parker
Cirrus
While in theory this is possible, doing it for something other than HTTP will be much more difficult since HTTP already has a profile on the LTM to parse the payload very efficiently. To do it with a different protocol you are going to have to parse the TCP payload yourself via CLIENT_DATA event and you will have to use a oneconnect profile which may or many not work with your protocol https://support.f5.com/kb/en-us/solutions/public/7000/200/sol7208.html and https://devcentral.f5.com/wiki/iRules.CLIENT_DATA.ashx. If your key is very early in the payload and is consistent you can probably get away with only collecting a small amount of the payload.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com