3 ms·
similar to crypto libraries, one should seriously rethink about building a distributed systems from scratch. Unless thats the only goal. I have worked on this
by ram_rar 6y ago
similar to crypto libraries, one should seriously rethink about building a distributed systems from scratch. Unless thats the only goal.
I have worked on this topic in academia and industry for many years and I can safely say, there is a huge disconnect between real world tools and academia. ROI for model checkers is too low, unless your building mission critical systems.
For a CRUD like application, simple things like
1. Distributed Tracing
2. Log Analysis
3. Basic concepts like exponential backoff with retries
etc seems to iron out most of the issues.
Lately, we started using chaos testing methods, where we have dedicated build pipelines with fault injection and see, if the system can function as expected. That has helped us uncover / fix many distributed system bugs. In terms of ROI and learning curve, chaos testing seems a much better approach than using model checkers and other sophisticated methods.