|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/building-modern-distributed-systems-with-java/
课程评论:没有评论
课程名称:使用Java构建现代分布式系统 课程概述:在我与大量大规模企业合作的过程中,许多企业承认他们的关键业务应用存在性能问题。大多数生产系统是基于传统的单体技术构建的。近来微服务的流行并不会自动实现解耦、可扩展和故障容错的系统,除非“正确实施”。工程师在进入微服务世界后,开始构建分布式应用程序,这需要强大的远程过程调用和集群协调能力。在本课程中,您将学习在设计和实施大规模分布式系统时常见的挑战,以及大公司如何解决这些问题。 课程涵盖的技术、算法和设计模式包括:服务注册与发现、服务网格、Apache Cassandra、ETCD(管理Kubernetes集群的协调器)、Apache Kafka、幂等服务设计、重试逻辑、分片和一致性哈希、客户端负载均衡、分布式追踪、金丝雀部署、边车模式和断路器。 本课程将教您各种分布式系统设计的原则,例如无主与有主、基于轮询与基于推送、即时一致性与最终一致性。在完成课程后,学习新的分布式数据库技术将变得更加容易,因为您将了解常用技术的优缺点。 我的目标是使课程内容非常实用,包含大量代码示例和应用最佳实践。例如,我将详细介绍服务注册与发现,使您能够在ETCD之上实现自己的框架。整个课程中,我们将构建一个分布式的URL缩短服务。这门课程也可以作为准备系统设计面试的人的一个良好复习。
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 MeshApache CassandraETCD (coordinator managing Kubernetes clusters)Apache KafkaIdempotent service design, retry logicSharding and Consistent HashingClient-side Load Balancing, Distributed Tracing, Canary Deployment, Sidecar Pattern, Circuit BreakerCourse 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.