分布式的优势及关键技术

本文介绍了分布式系统与传统单体架构相比的优势,如增大系统容量、加强可用性等,也指出其带来的问题,如架构和部署复杂等。还提到微服务架构推动了分布式发展,介绍了分布式系统的五个关键技术,其中前四项是构建分布式的核心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 分布式的优与劣

与传统的单体架构相比,分布式系统具有以下优势:

  • 增大了系统的容量。我们的业务量越来越大,就需要多台机器来应对这种大规模的应用场景。因此我们可以使用分布式的架构,来垂直或是水平的拆分业务;
  • 加强了系统的可用性。我们的业务越来越关键,需要提供整个系统架构的可用性,这样就不能存在单点故障。所以,通过分布式架构来冗余系统,提高系统的可用性;
  • 使系统模块化,可以提高模块的重用度,同时系统的扩展性也更高了;
  • 提高了开发和发布速度,因为软件服务模块被拆分,开发和发布都可以并行;

不过,世界上不存在完美的技术方案,采用任何技术都有得有失,都是一种trade-off。也就是说,分布式系统在消除上述问题的同时,也给我们带来了其他问题。

  • 架构设计变得复杂,尤其是分布式的事务
  • 部署变得复杂,一次可能需要部署多个服务
  • 随着系统的吞吐量变大,响应时间会变长
  • 技术可以多样性,服务变多,运维复杂度会变得很复杂
  • 测试和查错的复杂度增大,学习曲线也增大

综上所述的,分布式的优缺点可以概括为下表

选项传统单体架构分布式服务化架构
新功能开发需要时间容易开发和实现
部署不经常且容易部署经常部署、部署复杂
隔离性故障影响范围大故障影响范围小
架构设计难度小难度级系数增加
系统性能响应时间快、吞吐量小响应时间慢、吞吐量大
系统运维运维简单运维复杂\
技术技术单一且封闭技术多样性且开放
测试和查错简单复杂
系统扩展性扩展性差扩展性好
系统管理重点在于开发成本重点在于服务治理和调度

分布式的难点在于系统的设计,以及管理和运维。所以,分布式在架构在解决“单点”和“性能容量”问题的同时,也新增了一堆的问题。对于这些新增的问题,就需要各式各样的技术和手段来解决。

2. 分布式的关键技术

从2010年后,出现了微服务的架构,使分布式更进一步的发展,它为构造分布式的计算应用程序提供了更好的方法。这种架构更加的松耦合,每个微服务都能独立完整的运行,后端单体的数据库也被分散到不同的服务中。在服务间通过一个引擎进行服务编排或整合,一般这种引擎可以是工作流引擎,也可以是网关。再加上像容器化的调度技术(如Kubernetes)的辅助,使的分布式在当下变得更加流行。
分布式系统有以下五个关键技术:

  • 全栈系统监控
  • 服务/资源调度
  • 流量调度
  • 状态/数据调度
  • 开发和运维的自动化

而最后一项—开发和运维的自动化,是需要把前四项都做到了,才有可能实现的。所以,最为关键的是下边四项技术,即应用整体监控、资源和服务调度、状态和数据调度及流量调度,它们是构建分布式最最核心的东西。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值