user13559021 wrote:I don't understand what this has to do with JMS.
In our fancy ESB, logging of each request is done via a common infrastructure based on JMS based logging. Here is what happens in a nutshell:
service gets a request service
prepares some data in a LogData
object service calls database
time taken for db interaction is captured in LogData object
service is ready to send response
LogData object is sent to a messaging destination
service sends response
Very rosey! yes for paper architects. Here is the actual issue: The JMS service provider sometimes becomes unavailable - due to a system level error or the software crashes. Then the service waits at the step (step no. 6) where it has to make JMS connection to send LogData object. Resulting in delayed response, thus leading to bad performance and user experience.
So that is the biggest shortcoming of "Distributed logging using JMS" touted by a lot of developer websites. Also note that the presance of LogData is kind of critical non-functional requirement. That means the messages are sent in persistent mode, leading to a wait until the JMS provider confirms receipt of message to the sender (the service in this case) - what to be blamed? immature design? Are there any success stories of implementing something like this?
Which as I see is like a knee jerk reaction, when someone is ignoring the asynchronous part and implementing it like a databse or a socket based logging.I feel the contrary (but maybe I misunderstood you): the "asynchronous" aspect is overrated (and I'm understated: I should merely say "is a filthy lie") if the logging must be guaranteed.
user13559021 wrote:Yes but 'logging" has a rather indefinite definition as far as I am concerned.
Why I mentioned "JMS" because you will see 1000 articles on the web or otherwise from "paper architects" stating the benefits of so called "asynchronous JMS logging".
Which as I see is like a knee jerk reaction, when someone is ignoring the asynchronous part and implementing it like a databse or a socket based logging.