摘要:我们知道要实现计算系统中计算部分的能力的提升,无外乎就两种办法,一是提高单台计算设备的能力,二是增加计算设备。 |
对于云应用的分布式方式有2种基本的模式:一是功能的部署分布(负载均衡就是这种典型的方式),二是功能的计算分布,这是解决问题中典型的分治策略。部署分布相对来说比较好实现,因为功能(服务)是自闭的。在实际构建这种应用时需要特别注意的是缓存的处理,可以用缓存,但主要用于查询,而不是数据操作(增加,修改,删除等),企业级应用尤其如此(对于Dotnet的页面级缓存是可以的,如果你的缓存服务是独立出来可以为不同位置部署的应用所共享的,也是可以的)。这种部署分布比较适合企业级应用系统的构建。计算分布比较复杂,一般的模型都是由调度服务器+工作服务器构成,串行计算和并行计算都会存在。数据库或者自定义的存储模型中,一般都是采用简单的并行计算,比如GreenPlum分布式数据库。当然处理更为强大的就是串行和并行交织在一起的多流水线处理模式,典型的如Mapreduce。
关于分布式计算,大家可以买本教材看看,但对于构建企业级SaaS来说,一般都是基于数据库,做个部署分布就够了(负载均衡)。对于一些服务(比如PaaS),可能会将计算分布和存储分布一并考虑,目前来看,这要么是有针对性的应用(比如Google的基于BigTable的应用),作为平台来讲,GoogleAppEngine我没用过,MS的WindowsAzure我试过,做些小的个人应用还行,对于企业级的业务应用系统来说还是比较困难。
责任编辑:Alice