HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

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

关注

评论

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

七夕情人节,程序员的表白方式简直太秀了!

程序员生活志

程序员 七夕

百度联合发布全球最大中文自然语言处理数据共建计划“千言”

百度大脑

人工智能 百度 nlp 百度大脑

「零代码」搭建简易招聘管理系统

Tony Wu

效率工具 SaaS 招聘管理 HRIS

Docker 最常用的镜像命令和容器命令

哈喽沃德先生

Docker 容器 微服务

ARTS 挑战打卡第十一周(200720-200726)

老胡爱分享

ARTS 打卡计划

ARTS 挑战打卡第十周(200713-200719)

老胡爱分享

ARTS 打卡计划

一行代码实现简易服务器并共享文件

王坤祥

Python 共享文件

linux入门系列12--磁盘管理之分区、格式化与挂载

黑马腾云

Linux centos 编辑器 linux运维 vi/vim

追逐影子的人,最终只会是影子

小隐乐乐

linux入门系列13--磁盘管理之RAID、LVM技术

黑马腾云

Linux centos raid lvm 磁盘挂载

13年毕业,用两年时间从外包走进互联网大厂!

小傅哥

成长 小傅哥 经历 工作 入职

新晋“网红”Cat1 是什么

华为云开发者联盟

后端 物联网 华为云 无线通信 Cat.1

LeetCode题解:20. 有效的括号,for循环replace,JavaScript,详细注释

Lee Chen

大前端 LeetCode

SpreadJS 纯前端表格控件应用案例:货运代理客户服务平台

葡萄城技术团队

不想做经理的程序员

escray

学习 面试

惠普精灵家族助力IMC上海站,极致体验尽享电竞狂欢

E科讯

英特尔大小核试水 将推出8+8+1架构酷睿处理器

E科讯

linux入门系列11--Centos7网络服务管理

黑马腾云

Linux centos 网络配置 运维工程师

7. Jackson用树模型处理JSON是必备技能,不信你看

YourBatman

json Jackson ObjectMapper 树模型

3.7亿条保单数据怎么分析?这个大数据平台有绝招

华为云开发者联盟

大数据 hadoop 数据湖 FusionInsight Kyligence

ARTS 挑战打卡第十三周(200803-200809)

老胡爱分享

ARTS 打卡计划

正向代理与反向代理

王坤祥

nginx 反向代理 代理 正向代理与反向代理 Proxy

【程序员自救指南】一个证书,让我哄好了小师妹

华为云开发者联盟

网络安全 浏览器 华为云 SSL证书 安全证书

高效程序员的45个习惯:敏捷开发修炼之道(5)

石云升

敏捷开发 熵增 用代码沟通

知识点:操作系统异常的分类

王坤祥

操作系统 异常

Python实现一个计时功能的装饰器

王坤祥

Python 装饰器

linux入门系列15--文件传输之vsftp服务

黑马腾云

Linux centos linux操作 linux运维

java安全编码指南之:基础篇

程序那些事

Java 安全编码 安全编码指南

七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!

华为云开发者联盟

AI 智能高效 华为云 modelarts 七夕

ARTS 挑战打卡第十二周(200727-200802)

老胡爱分享

ARTS 打卡计划

linux入门系列14--ssh服务及主机远程管理

黑马腾云

Linux centos linux运维 红帽认证

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