Book Image

Building Modern Distributed Systems with Java [Video]

By : Lukasz Antoniak
Book Image

Building Modern Distributed Systems with Java [Video]

By: Lukasz Antoniak

Overview of this book

A significant percentage of large-scale enterprises experience performance issues with their business-critical applications. Most of the production systems have been built on top of legacy, monolith technologies. The recent popularity of micro-services will not fulfill its promise of decoupled, scalable, and fault-tolerant systems, unless “done right”. While entering the world of micro-services, engineers start building distributed applications, where robust remote procedure calls and cluster coordination are a must. You will look at various technologies, algorithms, and design patterns here. Some of them are Service Registry and Discovery, Service Mesh, Apache Cassandra ETCD (coordinator managing Kubernetes clusters), Apache Kafka, Idempotent service design, retry logic, Sharding, and Consistent Hashing, Client-side Load Balancing, Distributed Tracing, Canary Deployment, Sidecar Pattern, Circuit Breaker, and many more. Finally, you will also see the principles of various distributed systems designs; for example, master-less versus with leaders, poll-based versus push-based, immediate versus eventual consistency. After completing the course, learning new distributed database technology would be easier, because you will know the commonly reused techniques, including their pros and cons. All the resource files are available on the GitHub repository at https://github.com/PacktPublishing/Building-Modern-Distributed-Systems-with-Java
Table of Contents (5 chapters)
Chapter 4
Cluster Coordination
Content Locked
Section 5
Leader Election Design Pattern
This video explains the leader election design pattern.