Building Modern Distributed Systems with Java
Master distributed systems! Learn NoSQL databases, messaging queues & cluster coordination for scalable solutions. Build robust, large-scale applications.
Course Content
Building Modern Distributed Systems with Java is an intermediate-level Udemy course taught by Lukasz Antoniak. It runs 3h 53m, is taught in English, and includes a certificate of completion. Learners rate it 4.4 out of 5 from 182 reviews, with 1,359 students enrolled. It is a paid course, last updated February 2022.
Are your business-critical applications struggling with performance issues? Many large enterprises face this challenge, often due to reliance on legacy, monolithic technologies. While microservices offer a promising path to decoupled, scalable, and fault-tolerant systems, realizing their full potential requires careful planning and execution. Building distributed applications introduces complexities, demanding robust solutions for remote procedure calls and cluster coordination.
This course dives into the common challenges of designing and implementing large-scale distributed systems, drawing insights from how Big-Tech companies tackle these problems. You'll gain practical knowledge of essential technologies, algorithms, and design patterns including:
- Service Registry and Discovery: Learn how to implement your own framework on top of ETCD.
- Apache Cassandra: Understand its use in distributed systems.
- ETCD: Explore its role as a coordinator for Kubernetes clusters.
- Apache Kafka: Master this popular streaming platform.
- Idempotent service design and retry logic: Ensure reliability in distributed environments.
- Sharding and Consistent Hashing: Implement data distribution strategies.
- Client-side Load Balancing, Distributed Tracing, Canary Deployment, Sidecar Pattern, and Circuit Breaker: Implement resilience and manage deployments.
The course explores fundamental distributed systems design principles, covering topics like master-less vs. with leaders, poll-based vs. push-based, and immediate vs. eventual consistency. You'll learn the advantages and disadvantages of common techniques, making it easier to adopt new distributed database technologies in the future.
This course emphasizes a practical approach with extensive code examples and applied best practices. We'll build a distributed URL shortening service throughout the course, providing hands-on experience.
Ideal for:
- Engineers preparing for systems design interviews.
- Developers seeking to improve the scalability and reliability of their applications.
- Anyone interested in building distributed systems with microservices.
Need a web app built? Hire the team behind TutorialSearch.io
We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.