Persistency with Websockets Server
Hi guys,
my customer needs to use Websockets for his applications (online bets), currently we use a Performance L4 VS for the connection to the backend application server.
My questions:
-
Is there the possibility to use a Standard VS instead of the Performance L4 VS?
-
If not, how can I apply persistency onto that Performance L4 VS?
I've build an iRule for Universal Persistence, which is working fine as long as you use a Standard VS. On a Performance L4 VS, it's not working because you can't use the HTTP iRule commands.
when HTTP_REQUEST { set token [findstr [HTTP::uri] "connectionToken" 16 "&"] if { $token != "" } { persist uie $token log $token } }
After that, I thought I could use the same logic on Layer 4 basis and created the following iRule:
when CLIENT_ACCEPTED {
TCP::collect 600
}
when CLIENT_DATA {
set token [findstr [TCP::payload 600] "connectionToken" 16 "&"]
if { $token != "" } {
persist uie $token
log local0.notice $token
}
TCP::release
}
But when I want to apply that, I get the error message:
01070394:3: TCP::collect in rule (/Common/token_persistence_layer4) requires an associated TCP profile on the virtual server (/Common/Test).
It seems that the Performance L4 VS is using the fastL4 Profile and not the default TCP Profile, according to DevCentral this is the reason why I can't use TCP::collect etc.
Is there a way to implement Universal Persistence on a Performance L4 VS?
best regards,
Daniel