4 ms·
One specific thing I think FP distributed-system frameworks could bring is instantaneous, deterministic testing. e.g. I have N microservices, they communicate
by vemv 7y ago
One specific thing I think FP distributed-system frameworks could bring is instantaneous, deterministic testing.
e.g. I have N microservices, they communicate via IO (which means slow/brittle tests) but the framework abstracts over that, so I can run the whole system test suite under a second, because all IO (messaging, DB, concurrency) can be replaced with an in-memory implementation.
Interestingly, one could also inject faults to those IO mocks, and test how the system respond to that.
I believe FP is a prerequisite for meeting those goals, because otherwise having impure IO all over the place is hard (if not impossible) to mock out.
- polskibus 7y agoWhat you describe seems similar to Akka's multi node test kit.
- hderms 7y agoI agree, but what about when the persistent shared state ends up actually being most of what needs to be tested in a distributed system?
- vemv 7y agoCan't see the problem in principle - all kinds of storage (DBs, S3, Redis) seem mockable.
- dmgcodevil 7y agoYes, that's certainly possible. Also, you can choose between different effect systems, e.g.: Cats Effect, Monix and Scalaz ZIO