写点什么

分布式系统实战经验

  • 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:005331
用户头像

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

关注

评论

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

持续耕耘显卡市场,英特尔锐炫驱动重大升级

科技之家

函数计算|如何使用层解决依赖包问题?

Serverless Devs

Spring Boot + WebSocket 实时监控异常

程序员大彬

Java springboot

Kratos微服务框架实现权鉴 - Zanzibar

golang 微服务 鉴权 Kratos Docker 镜像

2023最新版网络安全保姆级指南,从0基础进阶网络攻防工程师

网络安全学海

运维 网络安全 信息安全 渗透测试 漏洞挖掘

营销大数据如何帮助企业深入了解客户-镭速

镭速

微盟全链路压测:如何帮助电商业务实现10倍性能提升?

TakinTalks稳定性社区

一文读懂SCADA系统的组件功能及应用

2D3D前端可视化开发

组态软件 工业组态软件 web组态软件 SCADA

新增模型服务、训练记录、源代码关联追溯,助力模型全生命周期管理|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 云计算 数据分析 编程建模

泰山众筹4.0sun模式开发系统技术

薇電13242772558

智能合约

DataEase 启动异常如何解决:Access denied for user 'root'@'xx.xx.xx.xxx' (using password YES)

搞大屏的小北

DataEase

《数字经济全景白皮书》后疫情时代数字化驱动增长洞察之赛道篇

易观分析

数字经济 数智化转型

《流浪地球2》的现实倒影(一):从量子计算机到MOSS

脑极体

量子计算机 小苔藓 流浪地球 MOSS

低代码开发平台 打开数字化转型普惠之门

力软低代码开发平台

音频编辑服务UI SDK接入指导及常见问题

HarmonyOS SDK

HMS Core

一体化移动办公平台,让政企工作更轻松、更便捷

BeeWorks

开年直播 | 博睿数据创始人兼CTO对话InfoQ,聊聊2023年重要战略技术趋势:可观测性

博睿数据

可观测性 博睿数据 媒体声音

专访三维空间雷成老师 | 原来水墨画风格的3D建筑动画可以如此惊艳……

Renderbus瑞云渲染农场

瑞云渲染 3D建筑动画 三维空间

CrossOver2023MAC电脑切换win系统打造的虚拟机软件

茶色酒

CrossOver2023

AirServer2024免费的手机投屏电脑软件

茶色酒

AirServer AirServer2023

微软提出 TinyMIM,首次用掩码预训练改进小型 ViT

Zilliz

WorkPlus即时通讯软件,专注于企业信息安全可靠的企业IM

BeeWorks

SR锁存器与D锁存器设计与建模

timerring

FPGA

CMAE 结合对比学习和掩码,提高表征辨别力

Zilliz

英特尔锐炫DX9,DX11,DX12游戏性能持续提升,个别游戏高达87%

科技之家

【知识点】如何快速开发、部署 Serverless 应用?

Serverless Devs

Camtasia2023汉化中文版电脑屏幕录像和编辑的软件

茶色酒

Camtasia2023

高密度 ARM 服务器如何引领“数智时代”发展,打通“智变质变”正循环

GPU算力

深度学习 并行计算 arm架构 高性能计算 ARM服务器

可变二维码,玩转“码”上时代

旺链科技

区块链 区块链技术 区块链溯源

数据结构-Hash常见操作实践

杨充

什么是渲染农场,渲染农场一般怎么收费?

Renderbus瑞云渲染农场

云渲染农场 渲染农场

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