《尚硅谷》Dubbo学习笔记:从单应用到分布式服务架构解析

需积分: 5 11 下载量 46 浏览量 更新于2024-08-05 1 收藏 33KB MD 举报
Dubbo是Java语言编写的分布式服务框架,它是在垂直应用架构的基础上发展起来的一种分布式服务架构解决方案,以解决大型互联网系统中的服务调用问题。本文档主要根据《尚硅谷》的学习笔记,概述了分布式系统的基本概念及其发展历程,并重点介绍了Dubbo在其中的作用。 1. **分布式系统基础理论** - 分布式系统定义:分布式系统由多个独立计算机组成,对用户而言,它们作为一个整体运作,通过网络连接协同工作。《分布式系统原理与范型》阐述了分布式系统的概念,强调了在互联网背景下,单一应用架构无法满足大规模网站的需求。 - **应用架构演变**: - 单一应用架构:适用于初期的小型项目,简单易用但性能扩展性差,且存在协同开发和维护难题。 - 垂直应用架构:随着流量增长,采用模块化设计,提高效率,但可能导致公共模块浪费和重复开发。 - 分布式服务架构:核心业务独立为服务,引入RPC框架如Dubbo,增强业务复用和解耦,利于快速响应市场变化,但需要有效管理服务间的交互。 - 流动计算架构:进一步扩展,通过调度中心动态调整集群容量,提高资源利用率。 2. **Dubbo的关键角色** - 在分布式服务架构中,Dubbo作为RPC(远程过程调用)框架,主要功能包括服务注册与发现、负载均衡、失败重试、熔断降级、服务跟踪等。它简化了服务之间的通信,使得服务提供者和服务消费者能够跨越网络边界,像调用本地方法一样调用远程服务,极大地提高了系统的可扩展性和灵活性。 3. **Dubbo的核心组件** - 服务提供者:发布自己提供的服务,包括服务接口、实现类和配置信息。 - 服务注册中心:负责存储和更新服务列表,供消费者查找。 - 服务消费者:调用远程服务,通过注册中心找到服务提供者并与其交互。 - 负载均衡器:根据策略选择合适的服务提供者,如轮询、随机或最少连接数。 4. **Dubbo的优点与挑战** - 优点:易于扩展、高可用、容错性强,提升了系统可伸缩性和稳定性。 - 挑战:配置复杂,管理服务版本和依赖关系,以及可能存在的网络延迟和数据一致性问题。 总结,学习Dubbo时,理解分布式系统的基础理论和架构变迁至关重要,尤其是掌握Dubbo如何在分布式服务架构中扮演的角色,以及如何配置和使用其核心组件。这对于构建和优化大型分布式系统有着实际意义。