Can ZXTM provide fault tolerance if a back-end server fails whilst sending data?No. There is no completely reliable way for ZXTM to tell the difference between a complete data-stream from a server and a partial, incomplete one - so ZXTM will make no attempt to deliver the remainder of the data from a different machine. If ZXTM discovers that a back-end server is not working when it initially sends a request to a it, then it can generally, dependant on the protocol used, re-send the request to a different machine. The exceptions may be, for example, HTTP requests that contain a content-body. These are not re-sent, because ZXTM would have to buffer the (potentially unlimited amount of) client data in order to re-send the entire request. Does this mean that my web application might get requests twice from ZXTM? It's possible, if one of your back-end machines fails or is too slow in responding to a request. However, a TrafficScript rule can be used to mark requests as safe to resend (idempotent, or stateless) or unsafe to resend (non-idempotent, or stateful - the result of receiving the request is a change in state of the webserver and filesystem, database or application server connected to it). See the statements "connection.setIdempotent( 1 );" and "http.setIdempotent( 1 );" in the ZXTM TrafficScript Manual or online help.
Owen Garrett
[Zeus Dev Team] 01 July 2005
|
Recent Articles
Other Resources
|


