1.分层架构spring
数据库-持久层-业务层-表现层 数据库
优势:分工,各层能够独立测试 缺点:扩展性能差 网络
2.基于事件的架构架构
事件队列-分发器-事件通道-事件处理器并发
优势:属于分布式的异步架构,事件处理器之间是高度解耦的,软件的扩展性好mvc
应用:(1)主要是松耦合,易扩展,外部请求都到MQ,在各个业务模块的rpc server完成消费并response负载均衡
(2)一样的spring mvc也是这种,将请求分发给多个eventhandler去处理。异步
3.微核架构(插件架构)分布式
全部的插件都在core system上。插件之间相互独立的,并且插件之间的通讯应该减小到最低微服务
4.微服务架构
每个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,经过远程通讯协议(好比REST、SOAP)联系。
其中微服务架构又分为了三种实现方式
(1)RESTful API 模式:服务经过 API 提供,云服务就属于这一类
(2)RESTful 应用模式:服务经过传统的网络协议或者应用协议提供,背后一般是一个多功能的应用程序,常见于企业内部
(3)集中消息模式:采用消息代理(message broker),能够实现消息队列、负载均衡、统一日志和异常处理,缺点是会出现单点失败,消息代理可能要作成集群
5.云架构
云结构(cloud architecture)主要解决扩展性和并发的问题,是最容易扩展的架构
它的高扩展性,主要缘由是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。而后,业务处理能力封装成一个个处理单元(prcessing unit)。访问量增长,就新建处理单元;访问量减小,就关闭处理单元。因为没有中央数据库,因此扩展性的最大瓶颈消失了。因为每一个处理单元的数据都在内存里,最好要进行数据持久化。
优势是高负载,高扩展性