Главная > Tutorials > Building Modern Distributed Systems with Java

Building Modern Distributed Systems with Java

16-11-2021, 07:01. Разместил: supnatural
Building Modern Distributed Systems with Java
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 30 lectures (3h 53m) | Size: 1.94 GB

Learn how to design large-scale distributed systems with NoSQL databases, messaging queues and cluster coordination
What you'll learn:
Design and implement globally-distributed, scalable and fault-tolerant applications
Understanding of common algorithms and techniques used in majority of NoSQL databases and streaming platforms
In-depth knowledge of Apache Cassandra, Apache Kafka and ETCD
Build distributed URL-shorten service

Proficiency in Java programming language
Open mind to discover challenges of distributed computing
Beginner in Spring Boot framework

Significant percentage of large scale enterprises that I have been working with, admitted experiencing performance issues with their business critical applications. Most of production systems have been built on top of legacy, monolith technologies. 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.

In this course you will learn about common challenges that appear while designing and implementing large scale distributed systems, and how Big-Tech companies solve those problems.

Technologies, algorithms and design patterns covered in this course:

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

Course will teach you the principles of various distributed systems design, for example master-less vs. with leaders, poll-based vs. push-based, immediate vs. eventual consistency. After completing the course, learning new distributed database technology would be easier, because you will know the common re-used techniques, including their pros and cons.

My intention is to keep course content very practical, with lots of code examples and applied best practices. For example, I will cover Service Registry and Discovery to the detail, that you will know how to implement your own framework on top of ETCD. Throughout the course, we are going to build distributed URL shorten service.

The course may be a good recap for people preparing for systems design interview.

Who this course is for
Daily Java developers and Architects who wish to broaden their knowledge of distributed computing, NoSQL databases, efficient RPC calls, messaging middleware and cluster coordination

Вернуться назад