博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件架构
阅读量:6585 次
发布时间:2019-06-24

本文共 844 字,大约阅读时间需要 2 分钟。

hot3.png

1.分层架构

数据库-持久层-业务层-表现层 

优点:分工,各层可以独立测试 缺点:扩展性能差 

2.基于事件的架构

事件队列-分发器-事件通道-事件处理器

优点:属于分布式的异步架构,事件处理器之间是高度解耦的,软件的扩展性好

应用:(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)。访问量增加,就新建处理单元;访问量减少,就关闭处理单元。由于没有中央数据库,所以扩展性的最大瓶颈消失了。由于每个处理单元的数据都在内存里,最好要进行数据持久化。

优点是高负载,高扩展性

 

 

转载于:https://my.oschina.net/u/2984281/blog/791588

你可能感兴趣的文章
阿里云负载均衡服务
查看>>
小命令 sysdig
查看>>
IT十八掌作业_java基础第五天_静态代码块、类的继承和接口
查看>>
流程控制-for序列、流程控制-for字典
查看>>
Easy APNs Provider的使用
查看>>
搭建mysql集群
查看>>
Gson工具包使用
查看>>
有一个系统修复处于挂起状态,需要重新启动才能完成该修复
查看>>
Ubuntu上安装bind9
查看>>
访问共享提示“服务器存储空间不足,无法处理此命令。”
查看>>
第七章 虚拟化 虚拟机备份 Veeam backup &Replication
查看>>
路由器与交换机的密码恢复
查看>>
Cisco路由器上的IPSec协议(站点到站点的×××)
查看>>
Linux Python详细安装、升级指南
查看>>
无法修复ie使用代理服务器
查看>>
教你给IDEA安装插件
查看>>
隐蔽可扩展PHP Webshell – Weevely 1.0
查看>>
如何让Yii框架支持多个数据库
查看>>
用函数指针读取并调用虚函数表指向的每个函数
查看>>
办公小贴士之:在Outlook 2010中添加农历生日
查看>>