Alvaro Videla reviews distributed systems: async/sync, message passing, shared memory, failure detectors, leader election, consensus and different kinds of replication, and recommends related books.
Russ Miles shows how we can build production-level confidence in our polyglot microservices by applying the test-driven approach to synchronous (REST) and asynchronous (Messaging) services.
Nitesh Kant describes how embracing asynchrony in Netflix applications, from networking to business processing, creates gracefully degrading and highly resilient applications.
Phil Calcado shares the toolkit and strategy SoundCloud uses to keep its microservices explosion manageable, dealing with operations overhead, DevOps, breaking changes and asynchronous behaviors.
Torben Hoffmann talks about how to design systems with asynchronous message passing between processes that do not share any memory.
Andrea Giammarchi presents different asynchronous patterns and best practices for the Web, the server, and the embedded IoT platforms.
Stuart Halloway discusses the design of core.async and some of its capabilities: channels, put and take, go blocks, alts! and alts!!, timeouts, showing their use through code.
Fred George discusses two challenges developing microservices: the asynchronous messaging bus and using functional programming which may be at odds with this approach.
ASPIRE:Exploiting Asynchronous Parallelism in Iterative Algorithms using a Relaxed Consistency-based DSM
The authors present a relaxed memory consistency model and consistency protocol that tolerate communication latency and minimize the use of stale values, outperforming other models.
Stuart Williams takes a walk through the RTI architecture and explains how Spring performs at hundreds (and millions) of events/operations per second.
Roland Kuhn introduces the guiding principles behind Reactive Streams’ design and along with examples using its actor-based implementation in Akka.