报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

分布式计算的谬误在今天的意义有多大?

  • 2009-06-01
  • 本文字数:1068 字

    阅读完需:约 4 分钟

Sun Microsystemsg 的 Tim Bray 发表了一篇关于分布式计算八大谬误的博文;他指出,尽管(分布式计算的谬误)在分布式系统设计时具有深刻影响,然而“在构建大型网络系统的讨论中却很少被谈及”。

Tim 认为,一些谬误看起来不相关的原因可能是现今很多应用程序是基于 Web 技术创建的;而 Web 又让你相信了一些谬误。他在 Web 环境下逐一分析了这八项谬误,并解释了其中一些仍然还是谬误,而其他的在一定程度上有所减轻,或者至少因 Web 技术而呈现减轻的趋势。

1. 网络是可靠的

HTTP [……] 连接相当短暂;而传统的网络系统之间的连接,其生命周期几乎占据整个应用程序。

此外,GET、PUT 和 DELETE 具有幂等性,(对网络的可靠性)帮助很大,POST 不是幂等的。举个例子,如果一个 GET 操作碰到网络中断,只需要重新发送一次就好。它定义了清晰的修复和恢复的边界,以备应用程序在处理时使用。

2. 零网络延时

(Web 环境下情况其实更差),Web[……] 建立 / 销毁连接需要花时间,[而且] 很多用户已经将这些操作内部化,也清楚地知道通常情况下一个状态良好的服务器组装请求结果并送达响应所需的几秒钟和超负载情况下的行为之间的差别。

3. 无限制带宽

4. 零传输成本

从最近带宽上限的新闻可以明显看到。 或者如Tim 所说的“你会时不时看看到诸如此类的消息:‘对不起,您要传输的图片太大了’”。

5. 网络是安全的

这个谬误可能是 Web 处理的最差一个了。不管怎样,Web 技术意味着:应用开发者可以生存在受一个或多个谬误影响的环境里,但不包括这一个。

6. 稳定的拓扑结构

通过让我们大部分的应用程序都基于 Web,使得每个人都可以通过 URI 找到任何资源,我们都愿意分享解决路由和寻址问题的方法。[这] 意味着应用程序开发者几乎不需要考虑这个问题。

7. 有个管理员

很好,没有管理员。但是谁还关心有没有管理员?网络架构使寻址过程分散化了。

8. 网络是同构的

网络中没有 API 和数据模型,它只是一组规定了发送何种消息和期待返回何种消息的协议。所以,作为副作用,异构也不再是一个问题了。

作为博文的结束语,Tim 提醒到:

如果你要创建 Web 技术,你必须要考虑这些问题。但是,如果你只在网络技术上构建应用程序,那么大部分问题你都不需要考虑。不过,安全除外,请始终记得考虑安全。

查看英文原文: How Relevant Are The Fallacies Of Distributed Computing Today?


译者简介: 马国耀,2007 年毕业于北京大学信息技术学院,硕士学位。他感兴趣的技术领域是 SOA,ESB,J2EE,Java 编程,开源项目等。业余时间爱好五子棋,围棋。他热情乐观,愿与天下各路豪杰结为朋友,可以通过 maguoyao (at) gmail.com 联系到他。

2009-06-01 23:184773
用户头像

发布了 184 篇内容, 共 82.5 次阅读, 收获喜欢 8 次。

关注

评论

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

如何无缝的将Flutter引入现有应用?

Geek_70xtik

flutter ios android 开源 移动应用

机器学习中常用的处理手段

子夜2104

学习

安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错

虚拟世界的懒猫

Docker vmware vm hyper-v WSL2

利用Translate ToolKit 2.5.0 API构建Flask web app

虚拟世界的懒猫

Python nginx flask uwgsi translate

你真的理解 Java 的基础数据类型吗

Rayjun

Java

和邓小平、基辛格“谈笑风生”的世界第一女记者:奥琳亚娜·法拉奇

赵新龙

记者 编辑 采访 法拉奇

程序员陪娃漫画系列——喂药

孙苏勇

程序员 生活 陪伴 漫画

消息队列Kafka - Kafka中的选举

Java收录阁

kafka

Hadoop集群搭建-04安装配置HDFS

虚拟世界的懒猫

hadoop

“我代码写完了,QA可以测了。”

蔡建斌

Scrum 敏捷 质量管理 测试

做好仓储控制系统(WCS)的关键

申扬科技

仓储控制系统 WCS

【终于解决】ubuntu19安装nvidia驱动后屏幕亮度默认最亮不可调节

虚拟世界的懒猫

ubuntu 英伟达

1分钟就能学会的时间管理大法

小匚

时间分配 时间管理

管理信息系统课程基础知识

小匚

Hadoop集群搭建-03编译安装hadoop

虚拟世界的懒猫

hadoop centos7

Arthas安装及基本用法

编程随想曲

Java

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

Zookeeper选举机制

tunsuy

zookeeper 开源 源码分析 分布式协同

配置微软Azure大数据HDInsight云集群

虚拟世界的懒猫

microsoft 大数据 微软 azure hdinsght

选赵敏还是选小昭,这可真是个问题 | Decision Tree

张利东

Python 学习 算法 决策树

从“成为作者”到“立即创作”:开启你的“写作极客”生活

岛乾坤

写作

centos6搭建NEXUSphp pt私人种子站

虚拟世界的懒猫

centos nexusphp pt bt

idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD

虚拟世界的懒猫

spring mybatis ssm springmvc java8

Hadoop集群搭建-01前期准备

虚拟世界的懒猫

hadoop hdfs mapreduce zookeeper centos

跬步贴|5分钟搞定缓存击穿问题

架构师跬步营

下一代存储NVMe over Fabrics

HU

当 Redis 发生高延迟时,到底发生了什么

程序员历小冰

redis Linux 延迟

Hadoop集群搭建-02安装配置Zookeeper

虚拟世界的懒猫

hadoop zookeeper centos7

Hadoop集群搭建-05安装配置YARN

虚拟世界的懒猫

hadoop

如何写作一本书(2):前言与正文

英子编辑

技术 写作

我愿沉迷于学习,无法自拔(一)

孙瑜

深度思考 个人成长

分布式计算的谬误在今天的意义有多大?_SOA_Dilip Krishnan_InfoQ精选文章