分布式程序开发的模式

自动模式这个词问世以来,人们似乎以定义模式为骄傲,使用模式为潮流。

当单机模式的光环逐渐退出,分布式模式横空而出,虽然只是简短的几句话,我相信以后会有详细的介绍的,实在没有,我们也可以写嘛。

下面文字引自:http://srinathsview.blogspot.com/2011/10/list-of-known-scalable-architecture.html

  1. LB (Load Balancers) + Shared nothing Units - 缓存服务一般可以使用此种模式,比如CDN
  2. LB + Stateless Nodes + Scalable Storage - 开放式服务一般采用此种架构,比如Amzon的各项服务大概就是如此。
  3. Peer to Peer Architectures (Distributed Hash Table (DHT) and Content Addressable Networks (CAN)) - P2P曾经一度流行过,但是个人感觉版权和协议的复杂性会阻挡其发展。
  4. Distributed Queues
  5. Publish/Subscribe Paradigm - 4,5两条比较贴近,基于队列的订阅服务可以设计扩展性极好的系统,但是其复杂性也不容忽视。同时我倒觉得这种服务是可以面向终端用户的,比如rss新闻订阅就可以依赖此。
  6. Gossip and Nature-inspired Architectures - 这个跟P2P类似,该类系统假设大多数人都是好人,从而信息可以在整个社区共享.
  7. Map Reduce/ Data flows - 大规模数据处理的经典模式.
  8. Tree of responsibility - 全球网络架构跟此类似,物理数据中心也可以如此设计.
  9. Stream processing - 跟map/reduce互补,处理那些耗费时间极短的作业。
  10. Scalable Storages – 这个其实类似第2条,可能大家都喜欢凑个整数吧。

posted on 2011-11-27 16:17  RaymondSQ  阅读(489)  评论(0编辑  收藏  举报