使用 Java 构建现代分布式系统
Building Modern Distributed Systems with Java
了解如何使用 NoSQL 数据库、消息队列和集群协调设计大规模分布式系统
学习内容
-
设计和实施全球分布式、可扩展和容错的应用程序
-
了解大多数 NoSQL 数据库和流式处理平台中使用的常见算法和技术
-
对 Apache Cassandra、Apache Kafka 和 ETCD 有深入的了解
-
构建分布式 URL-shorten 服务
要求
-
熟练掌握Java编程语言
-
以开放的心态发现分布式计算的挑战
-
Spring Boot 框架初学者
描述
与我合作过的大型企业中,有很大一部分人承认其关键业务应用程序遇到了性能问题。大多数生产系统都是建立在传统的单体技术之上的。最近微服务的流行将无法实现其解耦、可扩展和容错系统的承诺,除非“做得好”。在进入微服务领域时,工程师开始构建分布式应用程序,其中强大的远程过程调用和集群协调是必不可少的。
在本课程中,您将了解在设计和实施大规模分布式系统时出现的常见挑战,以及大型科技公司如何解决这些问题。
本课程涵盖的技术、算法和设计模式:
-
服务注册和发现,服务网格
-
Apache Cassandra
-
ETCD(管理 Kubernetes 集群的协调器)
-
阿帕奇卡夫卡
-
幂等服务设计,重试逻辑
-
分片和一致哈希
-
客户端负载均衡、分布式跟踪、金丝雀部署、Sidecar 模式、断路器
课程将教你各种分布式系统设计的原则,例如无主与有领导者,基于轮询与基于推送,即时与最终一致性。完成课程后,学习新的分布式数据库技术会更容易,因为您将了解常见的重用技术,包括它们的优缺点。
我的目的是保持课程内容非常实用,并提供大量代码示例和应用最佳实践。例如,我将详细介绍 Service Registry 和 Discovery,您将知道如何在 ETCD 之上实现自己的框架。在整个课程中,我们将构建分布式 URL 缩短服务。
对于准备系统设计面试的人来说,这门课程可能是一个很好的回顾。
本课程适合谁:
- 希望拓宽分布式计算、NoSQL 数据库、高效 RPC 调用、消息传递中间件和集群协调知识的日常 Java 开发人员和架构师
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)