I recently had an interaction with an NServiceBus customer and noticed that they are pushing the log of their import process all the way to the UI. While this may be normal in some cases, but why do you put all the technical details, including exceptions, stack trace, in case of errors in that customer facing log window? The answer was: it is hard for us to gather all the relevant information from a distributed process that’s running in a handful of microservices. When something goes wrong, it is hard for us to gather all the relevant information.

It all boiled down to this: while each individual service capture all the detail of a successfull and failed job, the logs go into individual log files on those services. It is hard to connect these logs across different services. In a nutshell, distributed logging is hard. But does it have to be? Continue reading

NServiceBus Sagas are a powerful feature that would allow you model long running processes without managing the state on your own or having to juggle correlating messages. Since they manage the state for you and messaging systems being distributed and things running concurrently, they also do concurrency control via Optimistic Concurrency.

Continue reading

When working on a project using NServiceBus, we came up with an interesting requirement. The messages in the queue should be processed only in certain time frames. The reason is that message handler is making a webservice call and the other party is only available at certain times and system is not even allowed to make a call during the outage window. Continue reading

  • page 1 of 1
Author's picture

Hadi Eskandari

Developer, amateur photographer, coffee snob, husband and father.