写点什么

分布式系统实战经验

  • 2016-08-11
  • 本文字数:1066 字

    阅读完需:约 3 分钟

Camille Fournier 在接受 Stefan Tilkov 采访时指出,作为软件架构师和开发人员,我们生活在一个分布式的世界中,为了简化分布式系统的构建,我们要形成一种意识,企业的价值在哪里,哪里可以合理地去冒险,哪里不可以。我们应该只处理那些真正需要解决的问题。

Fournier 以前曾在 Rent the Runway Goldman Sachs 任职,她最喜欢 Leslie Lamport 的分布式系统定义:

分布式系统是其中一台计算机出现故障,可以导致你自己的计算机不可用的系统。

在 Fournier 看来,Lamports 的定义真正地抓住了分布式系统的本质,那不是一件简单的事情,它会出问题,而且其复杂性是如此之高,都不可能很容易地推断出来。

人们常常因为流程中有网络就将系统看作是分布式的,但一个只有一台服务器和一个 Web 浏览器构成的系统,或者一个传统的三层架构,不是Fournier 通常所定义的分布式系统。她认为,那只会让问题不必要地复杂化;我们无需为尚未遇到的问题担心。即使你构建了一个有一定复杂性的联网系统,那也并不一定意味着,你要为构建好一个可用的系统而必须考虑整个分布式系统领域的复杂性。

在Fournier 看来,只有当你真地要贯穿许多不同的系统时,分布式才开始成为应该处理的问题。使用一种服务架构,尤其是微服务类型的架构,就会开始遇到一些复杂的问题,但未必是可能在大规模分布式系统中出现的所有问题。她指出,分布式系统是一个工程问题,同时也是一个理论问题。也就是说,你必须运用工程问题所需要的理论解决它,但也不需要更多,只要足够解决问题就可以了。

Fournier 认为,在考虑具有一定规模(不需要像 Netflix 那么庞大)的软件的时候,服务架构,不管你是否称之为微服务,是一个非常明智的方式。在有几十名开发人员的时候,考虑将系统分成可以独立操作的实体非常有价值。把那些实体放入服务,就可以实现独立开发和数据所有权。单体架构本身并没有错,但她指出,分布式系统数量增加的原因并不只是因为我们真正需要,还是因为云的存在让构建这样的系统更加简单了。

状态让一切变得复杂。在 Fournier 看来,在考虑构建分布式系统时,其中一个重要的方面是哪里关注相干和一致状态,即在哪些部分你不希望丢失数据或让人们看到不同的状态。对于这些部分,她一般喜欢使用事务和传统的关系型数据库。一个例子是订单处理,在这种情况下,你希望确保能够完成所有的订单。在其他部分,你可能不那么关心一致性,人们看到稍微有点过期的数据,或者数据丢失,都没有问题,因为很容易重新创建。这时,Fournier 认为完全可以使用 NoSQL 数据库。

查看英文原文 Experiences Working with Real World Distributed Systems

2016-08-11 19:005454
用户头像

发布了 1008 篇内容, 共 440.3 次阅读, 收获喜欢 346 次。

关注

评论

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

以太坊ABI解析器零尺寸类型漏洞分析与利用

qife122

区块链 以太坊

Flink 与Flink可视化平台StreamPark教程(时间相关 1)

天翼云开发者社区

大数据 flink 计算

MyEMS在行动:揭秘开源能源管理系统如何重塑工业与楼宇的能效未来

开源能源管理系统

开源 能源管理系统

远程控制软件怎么选?对比评测向日葵远程控制和ToDesk

科技热闻

企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

AI搜索的黑科技?DeepSearch 究竟“深”藏着什么秘密?

阿里云大数据AI技术

阿里云 OpenSearch DeepSearch

腾讯投资 AI 陪伴项目 Born 融资 1500 万美元,主打社交化 AI 陪伴;朱啸虎:AI 语音与视频应用爆发在即丨日报

声网

LED显示屏vs LCD液晶屏:如何选择

Dylan

广告 广告业 LED LED显示屏 lcd

小红书笔记API实战:笔记详情数据采集Python代码

tbapi

小红书笔记详情接口 小红书API 小红书笔记数据采集 小红书笔记数据分析

阿里云可观测 2025 年 8 月产品动态

阿里巴巴云原生

阿里云 云原生 可观测

还停留在批处理时代吗?增量计算架构详解

tapdata

批处理 变更数据捕获 金融实时数据处理 增量计算 CDC,流处理

服装智能制造软件平台(源码+文档+讲解+演示)

深圳亥时科技

开源‘

当智能机器人说”黑哥们语言是不通的“,作为开发者的你该如何应对?

老纪的技术唠嗑局

插件 #OceanBase 向量化

查收你的技术成长礼包

京东零售技术

MyEMS与开源浪潮:如何重塑全球能源管理的未来格局

开源能源管理系统

开源 能源管理系统

欲穷千里目,它凭什么能问鼎存力之巅?

脑极体

AI 存储

flink on k8s的基本介绍

天翼云开发者社区

大数据

时序数据库 Apache IoTDB V1.3.5 发布|优化加密算法,优化内核稳定性,修复社区反馈问题

Apache IoTDB

更灵活易用、延迟超低、更多情感语音支持!地表最强 Voice Agent 开源框架再进化!丨TEN Framework 更新

声网

低代码正在悄悄颠覆企业数字化

伤感汤姆布利柏

新签约 | Oracle 慢到拖垮查询?江西水投换上 TDengine 时序数据库秒回实时监控

TDengine

tdengine 时序数据库 国产时序数据库

开源能源管理系统的进击:从“免费替代”到“创新引擎”

开源能源管理系统

开源 开源能源管理系统

爱玛集团:All In SelectDB 构建极速统一数据平台,领航 AI 数智化实践

SelectDB

人工智能 数据库 实时数仓 MCP 爱玛电动车

重塑云上 AI 应用“运行时”,函数计算进化之路

阿里巴巴云原生

阿里云 云原生 函数计算

开源安全与法律争议:OpenSSH枚举、DMCA诉讼与数据泄露事件解析

qife122

网络安全 开源漏洞

试完豆包Seedream 4.0生图,我只想说,牛逼。。。

苍何

活动预告|天润融通走进亚马逊云科技,用Agent打造客户服务新型竞争力

天润融通

GOSIM HANGZHOU 2025即将揭幕,华为云云原生团队精彩议题抢鲜

华为云原生团队

云计算 容器 云原生 Volcano kubeedge

一文读懂电子看板管理:生产看板到底管什么?看什么?

万界星空科技

制造业 mes 可视化数据 电子看板 数字大屏

Comate Agents成团出道,来Pick你的最强C位!

Comate编码助手

前端 Agents Agentic AI vibe coding

大数据-96 SparkSQL 语句详解:从 DataFrame 到 SQL 查询与 Hive 集成全解析

武子康

Java 大数据 flink spark 分布式

分布式系统实战经验_语言 & 开发_Jan Stenberg_InfoQ精选文章