# 云架构
云架构(cloud architecture)主要解决扩展性和并发的问题,是最容易扩展的架构。
它的高扩展行,主要原因是没有使用中央数据库,而是把数据库都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个单元(processing unit)。访问量增加,就新建处理单元;访问量减少,就关闭处理单元。由于没有中央数据库,所以扩展性的最大瓶颈消失了。由于每个处理单元的数据都在内存里,最好要进行数据持久化。
这个模式主要分成两个部分:处理单元(processing unit)和虚拟中间件(virtualized middleware)。
>* 处理单元:实现业务逻辑
>* 虚拟中间件:负责通信、保持sessions、数据复制、分布式处理、处理单元的部署
![](https://box.kancloud.cn/14a5c68b1e95f72bcf30596e74ac134e_750x402.png)
虚拟中间件又包含四个组件:
>* 消息中间件(Messaging Grid):管理用户请求和session,当一个请求进来以后,决定分配给哪一个处理单元。
>* 数据中间件(Data Grid):将数据复制到每一个处理单元,即数据同步。保证某个处理单元都得到同样的数据。
>* 处理中间件(Processing Grid):可选,如果一个请求涉及不同类型的处理单元,该中间件负责协调处理单元
>* 部署中间件(Deployment Manager):负责处理单元的启动和关闭,监控负载和响应时间,当负载增加,就新启动处理单元,负载减少,就关闭处理单元。
优点
>* 高负载,高扩展性
>* 动态部署
缺点
>* 实现复杂,成本较高
>* 主要适合网站类应用,不适合大量数据吞吐的大型数据库应用
>* 较难测试