写点什么

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

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

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

关注

评论

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

开源云原生与行业应用 | ChinaOSC

CCF开源发展委员会

苏彤,你的 Python Flask 编写生成二维码接口写完了

梦想橡皮擦

Python 爬虫 8月月更

开源雨林企业开源治理与贡献论坛| ChinaOSC

CCF开源发展委员会

每日一R「06」内存管理

Samson

8月月更 ​Rust

在线XML转Excel工具

入门小站

工具

开源一夏 | 见微知著,带你认认数据分析的大门,站在门口感受一下预测的魅力

迷彩

开源 数据分析 预测模型 签约计划第三季 8月月更

头脑风暴:组合总和 Ⅳ

HelloWorld杰少

8月月更

深入浅出sychronized与Lock的实现原理

清风

后端 原理 并发 lock sychronized

阿里云解决方案架构师张平:云原生数字化安全生产的体系建设

阿里巴巴云原生

阿里云 云原生 安全 数字化

手把手带你实战 AGP 7.x ASM 字节码插桩

如浴春风

android asm Gradle 签约计划第三季

“红山开源”创新论坛 | ChinaOSC

CCF开源发展委员会

《Effective Java》第54条:返回零长度的数组或者集合,而不是null

okokabcd

Java

Kafka基础知识

阿泽🧸

kafka 8月月更

一文带你打通Node流的"任督二脉"

战场小包

前端 Node 签约计划第三季

CCF开源发展委员会执委增选

CCF开源发展委员会

IPv6报文头深度解析

穿过生命散发芬芳

ipv6 8月月更

Redis 多机

武师叔

8月月更

三种插件开发模式,带你玩废tinymce

Five

tinymce 签约计划第三季 8月月更

史上最全的Java并发系列之Java多线程

自然

多线程 并发 8月月更

KubeSphere 新版本3.3.0解读

CTO技术共享

开源 签约计划第三季 8月月更

网络编程(三)数据链路相关知识

Albert Edison

Linux 网络编程 计算机网络 8月月更 数据链路

急如闪电快如风,彩虹女神跃长空,Go语言高性能Web框架Iris项目实战-初始化项目ep00

刘悦的技术博客

Go golang 框架 go语言 Go 语言

计算后缀表达式-算法与数据结构-栈的运用-C++语言实现

清风莫追

算法 数据结构, 8月月更

开源教育论坛| ChinaOSC

CCF开源发展委员会

Kubernetes LIST请求服务调优

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes Docker Compose 迁移

CTO技术共享

开源 签约计划第三季 8月月更

企业架构是当代的屠龙之术吗?

涛哥 数字产品和业务架构

企业架构

在线文字图标logo文章封面图生成工具

入门小站

工具

史上最全的Java并发系列之Java多线程(二)

自然

多线程 并发 8月月更

RT-Thread记录(七、IPC机制之邮箱、消息队列)

矜辰所致

ipc RT-Thread 8月月更

Kubernetes分布式持续交付Zadig

CTO技术共享

开源 签约计划第三季 8月月更

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