在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

分布式系统架构的冰与火

  • 2018-01-16
  • 本文字数:1550 字

    阅读完需:约 5 分钟

更多左耳朵耗子的独家干货,请订阅极客时间出品的陈皓全年专栏《左耳听风》,一次订阅、永久阅读。即日起,戳此订阅立享以下两大福利:

福利一:原价 ¥199/ 年,极客时间新用户注册立减 ¥30

福利二:每邀请一位好友购买,你可获得 36 元现金返现,多邀多得,上不封顶,立即提现(提现流程:极客时间服务号 - 我的 - 现金奖励提现)

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

本文首发于陈皓(网名“左耳朵耗子”)在极客时间 App 上开始的全年独家专栏《左耳听风》,是《分布式系统架构的本质》7 篇系列文章的第一篇,更多文章,正在专栏更新。

点击此处,或扫描下图二维码订阅,永久阅读专栏内所有内容。

最近几年,我们一直在谈论各式各样的架构,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等。还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等。面对这么多纷乱的技术,我看到很多团队或是公司都是一个一个地去做这些技术,非常辛苦,也非常累。这样的做法就像我们在撑开一张网里面一个一个的网眼。

其实,只要我们能够找到这张网的“纲”,我们就能比较方便和自如地打开整张网了。那么,这张“分布式大网”的总线——“纲”在哪里呢?我希望通过这一系列文章可以让你找到这个“纲”,从而能让你更好更有效率地做好架构和工程。

首先,我们需要阐述一下为什么需要分布式系统,而不是传统的单体架构。也许这对你来说已经不是什么问题了,但是请允许我在这里重新说明一下。使用分布式系统主要有两方面原因。

  • 增大系统容量。我们的业务量越来越大,而要能应对越来越大的业务量,一台机器的性能已经无法满足了,我们需要多台机器才能应对大规模的应用场景。所以,我们需要垂直或是水平拆分业务系统,让其变成一个分布式的架构。
  • 加强系统可用。我们的业务越来越关键,需要提高整个系统架构的可用性,这就意味着架构中不能存在单点故障。这样,整个系统不会因为一台机器出故障而导致整体不可用。所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。

当然,分布式系统还有一些优势,比如:

  • 因为模块化,所以系统模块重用度更高;

  • 因为软件服务模块被拆分,开发和发布速度可以并行而变得更快;

  • 系统扩展性更高;

  • 团队协作流程也会得到改善;

  • ……

不过,这个世界上不存在完美的技术方案,采用任何技术方案都是“按下葫芦浮起瓢”,都是有得有失,都是一种 trade-off。也就是说,分布式系统在消除上述问题的同时,也给我们带来了其他的问题。因此,我们需要清楚地知道分布式系统所带来的问题。

下面这个表格比较了单体应用和分布式架构的优缺点。

从上面的表格我们可以看到,分布式系统虽然有一些优势,但也存在一些问题。

  • 架构设计变得复杂(尤其是其中的分布式事务)。
  • 部署单个服务会比较快,但是如果一次部署需要多个服务,部署会变得复杂。
  • 系统的吞吐量会变大,但是响应时间会变长。
  • 运维复杂度会因为服务变多而变得很复杂。
  • 架构复杂导致学习曲线变大。
  • 测试和查错的复杂度增大。
  • 技术可以很多样,这会带来维护和运维的复杂度。
  • 管理分布式系统中的服务和调度变得困难和复杂。

也就是说,分布式系统架构的难点在于系统设计,以及管理和运维。所以,分布式架构解决了“单点”和“性能容量”的问题,但却新增了一堆问题。而对于这些新增的问题,还会衍生出更多的子问题,这就需要我们不断地用各式各样的技术和手段来解决这些问题。

以上仅为文章的一部分,欲阅读全文,还请点击链接关注『左耳听风』专栏,在试读文章模块,继续阅读。本文是《分布式系统架构的本质》7 篇系列文章的第一篇,更多文章,正在专栏更新,扫描下图二维码订阅,永久阅读专栏内所有内容,可在 PC、微信和 App 中随时阅读。

2018-01-16 23:059159

评论

发布
暂无评论
发现更多内容

建筑矿山设备工厂:MyEMS 如何助力实现 30% 能源自给率与 ISO 50001 认证?

开源能源管理系统

开源 能源管理系统

从经验到数据:MyEMS 如何推动能源管理的范式升级?

开源能源管理系统

开源 能源管理系统

多模融合·交互共生:多模态图谱交互式构建与分析系统重塑知识工程新范式

上海拔俗

即时通讯安全篇(四):实例分析Android中密钥硬编码的风险

JackJiang

网络编程 即时通讯 IM

"催化型领导力(Catalyst Leadership)" 敏捷领导者CAL1认证

ShineScrum

领导力 敏捷领导力

博主亲测!Python+PIDEA自动化高效采集音乐数据

Toekn_w

Python

天天小任务:全平台点赞推广变现系统,轻松解锁流量与收益双增长

微擎应用市场

RPA真的适合中小企业吗?又该如何选?

Techinsight

MyEMS 的智慧大脑:从能耗建模到预测性维护的全流程技术逻辑

开源能源管理系统

开源 能源管理系统

议题征集|Pulsar Developer Day 2025 喜欢您来!

AscentStream

“全球金牌敏捷课程” · 11月15-16日CSM认证课程 ·

ShineScrum

敏捷 Scrum Master

SSL证书全流程深度解析:从申请、部署到排障的完整指南

防火墙后吃泡面

国外舆情分析的实战框架与应用场景

沃观Wovision

舆情 舆情分析 舆情监控 舆情监测网站 国外舆情

低代码列表设计实操:PC/APP 适配 + 5 大布局,数据展示更精准

引迈信息

Cursor 2.0 转向多智能体 AI 编程,并发布 Composer 模型

掘金安东尼

为什么国产RPA正成为大企业的选择?

Techinsight

户外作业环境下,哪款RFID智能工具柜更耐用?选型攻略来了

斯科信息

RFID智能工具柜 CK-GT3B CK-GT7

国外舆情监测与分析:全球视野下的风险预警与机遇洞察

沃观Wovision

舆情监测 舆情监测系统 海外舆情监测 国外舆情

数据驱动·智能决策:AI 运营分析平台重塑企业增长新范式

上海拔俗

兼职招聘平台

深圳亥时科技

别急着上RPA!50%企业自动化失败的真相,藏在这4个误区里

Techinsight

Java 21 虚拟线程 vs 缓存线程池与固定线程池

码界行者

Java

百度亮相 SREcon25:搜索稳定背后的秘密,微服务雪崩故障防范

新消费日报

利用海外舆情分析发现市场空白与战略机会

沃观Wovision

海外舆情

为什么我的应用会卡顿?垃圾回收中的STW难题与破解之道

poemyang

垃圾回收 Java虚拟机 三色标记

免费境外舆情监控软件有哪些

沃观Wovision

舆情监控 境外舆情监控 境外舆情

制造业MES系统解决方案深度解析

万界星空科技

数字化转型 mes 万界星空科技mes AI智能化MES 平台化mes

C++ 多态:你只要这么讲就够了!

os-artificer 技术圈

载誉而归!镜舟科技亮相2025 OSCAR开源产业大会,荣获“开源+商业化产品”奖

镜舟科技

开源 湖仓一体 实时分析 镜舟科技 2025 OSCAR

2026全球十大顶级舆情监测软件排行榜

沃观Wovision

舆情监测 舆情监测软件

淘宝商品评论的情感分析实战:API数据驱动用户洞察

Datafox(数据狐)

淘宝评论API 淘宝商品评论API 天猫商品评论API 淘宝评论数据采集 淘宝评价数据采集

分布式系统架构的冰与火_语言 & 开发_陈皓_InfoQ精选文章