FP and Micyoservices
Let's look hints of FP philosophies in microservices and related architecturesof event driven architectures, CQRS, Lambda Architecture and functional reactive programming.
The architectures we will consider leverage FP philosophies in different ways to achieve their goals of being:
- Event driven
- Scalable
- Responsive
- Resilient
Message passing
These architectures frequently employ fanout strategies to improve performance. For example, an application might have a series of requests that block while performing each request as follows:
If each request takes 1 second the total time required to send, receive and compose all responses will be 3 seconds.
When possible, we should opt to perform each request asynchronously by fanning out our requests as follows:
This would reduce the time required to process all requests from 3 seconds to 1 second.
Â
Asynchronous processing takes less time which frees up our resources faster. This minimizes latency and reduces contention for our shared resources...