The post defines the basic principles of composing networking I/O. All defined combinators use standard Golang notations from which other combinator notations are constructed. Domain Specific Language built over combinators shows that any networking could be reduced to an expression purely in terms of combinators. The crucial idea here is the computational language, which delivers abstractions, where anyone can declare things and then reuse them without having to think about how they’re built inside.
Microservices became a design style to implement applications in the cloud. It define system architectures, purify core business concepts, evolve solutions in parallel.
Distributed systems involve various technologies and communication principles that bring overhead and latencies. The root cause of latencies varies from physical properties of the network to the quality of software components. The post discussed sources of latencies from the prism of infrastructure, protocol and application.
End-to-end latency is one of user-oriented characteristics used for quality assessment of distributed software architecture. Research indicates that a service fails to meet user needs if a transaction cannot be accomplished within 3 - 4 seconds.