20-Nov-2023 15:07
Hi - we have a vendor who will be seeking to integrate an iRule which leverages HSL to send logging; the immediate destination will be an HTTP virtual server which we will establish (which will, in turn, proxy the request to their cloud endpoint, using TLS for that leg of the journey).
This vendor iRule will be added to various virtual servers, in order to log the request and response for all user requests against those virtual servers.
In such a circumstance, will the HSL::send command in the vendor iRule behave synchronously, waiting for an HTTP response before allowing the continued HTTP processing of the user request? Or, does HSL automagically behave in an asynchronous fashion (even in such a circumstance, where the destination of the logging is an HTTP virtual server, requiring TCP)? I implicitly assumed that part of the "high speed" for a typical HSL syslogging capability was that it was just throwing UDP packets at port 514 out there somewhere :-).
Thank you.
Solved! Go to Solution.
20-Nov-2023 16:58
Hi @daboochmeister2, HSL is just a message sprayer; it does not wait for any application-layer responses. If using TCP instead of UDP, however, you will have transport-layer messaging in the mix, but TMM is very good at that. There will be some nominal impact to logging every request/response, partial or otherwise, but doing so in TMM with HSL is very efficient vs trying to do it via syslog.
20-Nov-2023 16:58
Hi @daboochmeister2, HSL is just a message sprayer; it does not wait for any application-layer responses. If using TCP instead of UDP, however, you will have transport-layer messaging in the mix, but TMM is very good at that. There will be some nominal impact to logging every request/response, partial or otherwise, but doing so in TMM with HSL is very efficient vs trying to do it via syslog.
21-Nov-2023 07:12
Thank you, Jason.
20-Nov-2023 21:11
you can try tcl async to make sure it's asynchronous
https://wiki.tcl-lang.org/page/async
21-Nov-2023 07:14
Thank you for the info - looks like HSL does return immediately, without waiting for the response to the "send" ... which is async enough for us!