Multiple Transaction Handling
Hello
I am working on a project to handle requests from our customers. These request are in the form of short transactions. Most customers make a TCP connection into us the request is sent and we respond with an Answer the customer closes the TCP connection. Some customers however open a TCP connection and leave this connected and while this is connected they can send multiple transactions (either one after the other or multiples at a time).
The iRule that I am planning to deploy (and failed at) will take the payload received from the customer and depending on a flag in this payload will send the transaction to one of two pools. We also take some data from the payload and send this using HSL to syslog for analytic's.
The iRule falls over when a customer that keeps the connection open sends in more than one request at a time. The problems experienced are: 1. The request response have no unique tag available so it can get jumbled up from a logging point of view 2. When a response is received back the irule calls LB:detach (this was added to stop these customers that leave the session open from having a constant connection to the application) once we receive a response back. If two requests are made at the same time the LB:detach breaks the response from the second request. 3. As a LB member has been selected the multiple requests are sent to this where ideally the load would be split across the members.
I guess I need to know if there is a way to handle multiple sessions within an iRule that are coming over the same tcp session. I have looked at using Table or tracking with Var's but would like to know if anyone has any advise on how to achieve this.
Thanks
James