软件架构

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)。访问量增长,就新建处理单元;访问量减小,就关闭处理单元。因为没有中央数据库,因此扩展性的最大瓶颈消失了。因为每一个处理单元的数据都在内存里,最好要进行数据持久化。

优势是高负载,高扩展性

相关文章
相关标签/搜索