50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

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

关注

评论

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

Android Studio安装及问题解决,一文搞懂JVM架构

android 程序员 移动开发

Android Studio安装更新终极解决方式,android开发从入门到精通第2版

android 程序员 移动开发

android RoundedBitmapDrawable最简单方式实现圆角,事件分发机制流程图

android 移动开发

rabbitmq的死信队列

小鲍侃java

11月日更

企业很难招到合适的员工,怎么办?

低代码小观

招聘 企业管理 企业招聘 招聘系统 招聘管理系统

读完这些“Java 技术栈”,拿下阿里 Offer 没问题

Java高级开发

java

Android Studio真机 设置 和 错误排查,安卓面试题最新2020

android 程序员 移动开发

Android Material Design尝鲜,阿里P8面试官都说太详细了

android 程序员 移动开发

Android OKHttp 可能你从来没用过的拦截器 【实用推荐】

android 程序员 移动开发

耗时两个月,我终于把牛客网最火的Java面试题整理成册了,在Github标星60K

Sakura

Java 程序员 架构 面试 后端

Android Studio 3,android通知栏自响应事件

android 程序员 移动开发

Android Studio 4(1),Android面试超详细知识点

android 程序员 移动开发

Android Studio项目用Git上传至码云(OSChina)(1),flutter面试题

android 程序员 移动开发

Android R 新特性变化,三级缓存框架问题你都了解了吗

android 程序员 移动开发

Android RecyclerView的简单使用,我的阿里手淘面试经历分享

android 程序员 移动开发

Android Retrofit 2,flutter游戏源代码

android 程序员 移动开发

《设计模式就该这样学》之使用策略模式重构电商折扣和支付场景

Java高级开发

程序员 设计模式 java

Android MTK 设置默认启动 Launcher,android实战pdf

android 程序员 移动开发

Android NDK 开发之 CMake 必知必会,后台开发Android岗

android 程序员 移动开发

Flutter性能监控实践

贝壳大前端技术团队

flutter 性能 监控 优化

iOS开发-百度一面总结

iOSer

ios iOS面试 ios开发 百度面试

Android Studio上Kotlin的入门,一次关于JVM的面试经历

android 程序员 移动开发

会声会影VS剪映?免费虽好,但花钱的快乐你想象不到!

懒得勤快

Android Studio 4,移动开发平台

android 程序员 移动开发

Android Studio 模拟器卡慢、占内存解决方法,35岁技术人如何转型做管理

android 程序员 移动开发

Android NDK之旅——图片高斯模糊,30岁以后搞Android已经没有前途

android 程序员 移动开发

Android PinnedHeaderListView 详解,flutter技术解析与实战

android 程序员 移动开发

Android OOM:内存管理分析和内存泄露原因总结,网易架构师深入讲解Android开发

android 程序员 移动开发

2021年11月墨天轮国产数据库排行榜:openGauss闯入前三,Kingbase流行度与日俱增,TDengine厚积薄发

墨天轮

opengauss TiDB oceanbase 国产数据库

计算机网络小知识集锦 Ⅰ(厕所读物系列)

Regan Yue

计算机网络 11月日更 厕所读物

Android Studio项目用Git上传至码云(OSChina),android开发基础有哪些

android 程序员 移动开发

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