4 ms·
I think it comes down to taking debugging, monitoring, and alerting seriously. I doubt any team would be better off with a distributed system if they don't spen
by cloverich 7y ago
I think it comes down to taking debugging, monitoring, and alerting seriously. I doubt any team would be better off with a distributed system if they don't spend a serious amount of time setting up logging, monitoring, tracing, making it easy to debug, having automated alerts, etc. Its what separates a great coder from a good engineer and if you don't have the latter on hand, you should steer far away from building systems like this.
- spoonfoe 7y agoThis. We've got a couple of these kinds of applications where I work. All built on RabbitMq / MassTransit. Without smart logging it would be real frustrating to track down issues. You could put breakpoints everywhere locally, but that's a pain. Tools like Seq are really helpful during development. ELK stack / splunk / log aggregator X are almost required on the non-local environments.
- iliketoworkhard 7y agoSplunk aggregation is a life saver. If you assign a unique id to each request, you can trace its path thru it's entire lifecycle, including asynchronous post-tasks. This can also help see average delay latencies between a sync task and its associated asynchronous post task/s.