分布式系统的需求和一些缺点

将 Scalabilty 的需求分成两种:

• Data Scalability: 单台机器的容量不足以 (经济的) 承载所有资料,所以需要分散。

如: NoSQL

• Computing Scalability: 单台机器的运算能力不足以 (经济的) 及时完成运算,所以需 要分散。

如:科学运算。 在之后几天,我会试着就这两种需求来解析其中会遇到的问题与常见解法。

不管是哪一种需求,在决定采用分散式架构时,就几乎注定要接受一些牺牲:

• 牺牲效率:网路延迟与节点间的协调,都会降低执行效率。

• 牺牲 AP 弹性:有些在单机上能执行的运算,无法轻易在分散式环境中完成。

• 牺牲维护维运能力:分散式架构的问题常常很难重现,也很难追踪。 另外,跟单机系统一样,也有一些系统设计上的 tradeoffs

• CPU 使用效率优化或是 IO 效率优化

• 读取优化或是写入优化 • Throughput 优化或是 Latency 优化

• 资料一致性或是资料可得性

发布了31 篇原创文章 · 获赞 15 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章