大多数应用都需要这些通用功能:
1.计算
2.存储
3.消息
4.支付
5.分发
6.可伸缩
7.分析
这些功能实际可以形成一个平台,也是云计算平台关注提供的。
文中提出了云架构几个经验:
1.假设每件事情都会失败,避免任何单点风险。应用应该持续正常工作,即使在硬件失败或替换更换时。
2.建立松耦合系统,组件不互相依赖,将每个事情作为黑盒。
3.弹性策略 使用动态配置,可重启,多层之间使用负载平衡。 使得一切自动化。
4.在每一层建立安全。
5.不要害怕约束,通过分布式缓存达到更多内存,数据库读写分离 sharding细分和集群,在每一层进行缓存。
6.以并行思维思考,见并发模式,以并行设计架构,将多线程或并发请求导向云服务,运行并行MapReduce任务,将任务分解到最简单形式。
7.在多种存储策略中平衡,使用关系数据库或NoSQL等。