写点什么

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

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

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

关注

评论

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

基于Java+微信小程序实现《电子点餐系统》

hunter_coder

后端开发

基于Java“游侠”旅游信息管理系统设计实现(源码+lw+部署文档+讲解等)

hunter_coder

后端开发

基于Java“花鸣”B2C电子商务平台设计实现(源码+lw+部署文档+讲解等)

hunter_coder

后端开发

《编译原理》阅读笔记:p18

codists

编译原理

HDC 2024,响起一首空间智能化的行业协奏曲

脑极体

全屋智能

解密消息队列的复制魔法:RocketMQ vs Kafka

刘祥

消息队列对比

Linux 三剑客 grep、sed、awk

左诗右码

Linux

LDO电源模块

芯动大师

芯片 LDO 电源

基于Java+微信小程序实现《教学辅助微信小程序》

hunter_coder

后端开发

基于Java“镜头人生”约拍网站系统设计实现(源码+lw+部署文档+讲解等)

hunter_coder

后端开发

mac卡牌游戏:堆叠大陆 Stacklands for Mac 中文安装包

你的猪会飞吗

Mac游戏下载 Mac游戏推荐

TDengine 推出新连接器,与 Wonderware Historian 无缝连接

TDengine

数据库 tdengine 时序数据库

Mindmanager是什么?一文说清这款导图软件,附5款平价替代软件!

彭宏豪95

思维导图 在线白板 AIGC 效率软件 思维导图软件

Partisia Blockchain 基于领先的MPC方案,赋能医疗领域

股市老人

基于Java+微信小程序实现《购物商城系统》

hunter_coder

后端开发

基于Java“萌宠之家”宠物综合服务平台设计实现(源码+lw+部署文档+讲解等)

hunter_coder

后端开发

基于Java《数据库系统原理》课程平台设计实现(源码+lw+部署文档+讲解等)

hunter_coder

后端开发

基于Java:流浪动物领养信息系统设计实现(源码+lw+部署文档+讲解等)

hunter_coder

后端开发

YashanDB正式入驻合肥数据要素流通平台

极客天地

我学了这套性能优化方法论,领导年终奖给我发了6个月

刘祥

性能调优 Java’

深度解读:Apache Kafka如何超越消息引擎的界限

刘祥

Kafk Java’

基于Java+微信小程序实现《旅游出行必备商城》

hunter_coder

后端开发

深入Kafka消息分区机制:从原理到实践

刘祥

kafka

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