关于网络的错误假设

简介:
每个第一次构建分布式系统的人都可能会做出8个错误的对网络的假设:
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous

翻译过来就是:
1、网络是稳定可靠的
2、没有延迟
3、带宽无限
4、网络是安全的
5、网络拓扑不会改变
6、只有一个管理员
7、传输成本为0
8、网络是均匀的,现实是各种网络环境都有。

更多错误假设:
1、网络IO跟磁盘IO一样
    网络IO比之磁盘IO更不可预测、不可靠和不可控,网络IO包括了软硬件两方面的限制。
2、你与对端能够同步
  你无法假设对端是否关闭、接收到数据,这些通常需要你在应用协议里同步。
3、所有的错误都可以被检测到。
    很多错误例如对端关闭引起的读阻塞都需要应用层来处理。

4、资源无限可用。
5、应用可以无限等待一个远程服务
    任何大规模的应用都需要慎重设计超时、过期策略

6、远程服务总能响应及时。
7、只有单点失败
8、只有一个资源分配器
9、只有一个时间,也就是全局时间的问题。
文章转自庄周梦蝶  ,原文发布时间2009-05-02
目录
相关文章
|
机器学习/深度学习 数据可视化 小程序
使用梯度上升欺骗神经网络,让网络进行错误的分类(二)
使用梯度上升欺骗神经网络,让网络进行错误的分类
105 2
使用梯度上升欺骗神经网络,让网络进行错误的分类(二)
|
机器学习/深度学习 索引
使用梯度上升欺骗神经网络,让网络进行错误的分类(一)
使用梯度上升欺骗神经网络,让网络进行错误的分类
79 1
使用梯度上升欺骗神经网络,让网络进行错误的分类(一)
|
关系型数据库 MySQL
MySQL · 答疑解惑 · MySQL 的那些网络超时错误
前言 我们在使用/运维 MySQL 过程中,经常会遇到一些网络相关的错误,比如: Aborted connection 134328328 to db: 'test' user: 'root' host: '127.0.0.1' (Got timeout reading communication packets) MySQL 的网络超时相关参数有好几个,这个超时到底是对应哪个参数呢?
7441 0

热门文章

最新文章