Could we truly achieve service isolation in webMethods platform? Even though we define a specific pool per project (or per shared service), whenever that pool has issues (For e.g. it could also be an improperly designed service using the pool, which consumes all the connections in the pool without releasing them), I have seen in the past that if there is sufficiently high volume of requests coming into the server hitting the service that uses this pool, it could make the entire server non-responsive.
In summary, whenever there is a resource contention of any kind(For e.g: it could be a connection from pool, read/write operations to a samba file share (while the samba share is corrupted) etc…) the REQs (no. of request pending shown in the stats log) in the server grow tremendously (1500 -2000), threads go into wait state and the server eventually stops responding because we have common service thread pool. In the above case just having multiple pools will not help.
What techniques are available to achieve service isolation? How can we prevent one service from impacting all other services hosted on the server and thereby causing severe production outages?
Thanks for all the ideas.
Regards,
Srinivas Yeruva
#webMethods-General#Integration-Server-and-ESB#webMethods#webMethods-Architecture