【转载】常见软件架构分类

参考这篇文章

http://www.ruanyifeng.com/blog/2016/09/software-architecture.html

虽然讲得比较浅显,但是还是可以看看。

一、分层架构
表现层(presentation):用户界面,负责视觉和用户互动
业务层(business):实现业务逻辑
持久层(persistence):提供数据,SQL 语句就放在这一层
数据库(database) :保存数据
有的软件在逻辑层和持久层之间,加了一个服务层(service),提供不同业务逻辑需要的一些通用接口。

二、事件驱动架构
事件队列(event queue):接收事件的入口
分发器(event mediator):将不同的事件分发到不同的业务逻辑单元
事件通道(event channel):分发器与处理器之间的联系渠道
事件处理器(event processor):实现业务逻辑,处理完成后会发出事件,触发下一步操作

三、微核架构
内核(core)通常只包含系统运行的最小功能。插件则是互相独立的,插件之间的通信,应该减少到最低,避免出现互相依赖的问题。

四、微服务架构
微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。

微服务架构分成三种实现模式。
RESTful API 模式:服务通过 API 提供,云服务就属于这一类
RESTful 应用模式:服务通过传统的网络协议或者应用协议提供,背后通常是一个多功能的应用程序,常见于企业内部
集中消息模式:采用消息代理(message broker),可以实现消息队列、负载均衡、统一日志和异常处理,缺点是会出现单点失败,消息代理可能要做成集群

五、云架构
这个模式主要分成两部分:处理单元(processing unit)和虚拟中间件(virtualized middleware)。
处理单元:实现业务逻辑
虚拟中间件:负责通信、保持sessions、数据复制、分布式处理、处理单元的部署。

拟中间件又包含四个组件。
消息中间件(Messaging Grid):管理用户请求和session,当一个请求进来以后,决定分配给哪一个处理单元。
数据中间件(Data Grid):将数据复制到每一个处理单元,即数据同步。保证某个处理单元都得到同样的数据。
处理中间件(Processing Grid):可选,如果一个请求涉及不同类型的处理单元,该中间件负责协调处理单元
部署中间件(Deployment Manager):负责处理单元的启动和关闭,监控负载和响应时间,当负载增加,就新启动处理单元,负载减少,就关闭处理单元。
时间: 2024-08-09 19:52:56

【转载】常见软件架构分类的相关文章

机器学习常见算法分类汇总

机器学习常见算法分类汇总 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.这里 IT 经理网为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的.这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性. 学习方式 根据数据类型的不同,对一个问题的建模有不同的方式.在机器学习或者人工智能领域,人们首先会考虑算法的学习

APP测试要点及常见Bug分类

引言 对于产品的手机项目(应用软件),主要是进行系统测试.而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试.兼容性测试.安装和卸载测试.软件更新测试.性能测试.用户体验性测试.交叉事件测试.用户界面测试等. 功能测试要点及常见缺陷 常见的功能类缺陷 APP崩溃 这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出"强制关闭错误"的窗口,需要强制关闭应用,或者正在使用时

APP测试要点以及常见bug分类

对于手机软件app主要是进行系统测试.而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试.兼容性测试.安装和卸载测试.软件更新测试.性能测试.用户体验性测试.交叉事件测试.用户界面测试等 常见的功能类缺陷 APP崩溃 这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象.这些情况都很影响用户的体验,导致用户卸载

软件架构分类(转载)

思维导图: 作者:阮一峰(以下内容) 日期:2016年9月 3日 软件架构(software architecture)就是软件的基本结构. 合适的架构是软件成功的最重要因素之一.大型软件公司通常有专门的架构师职位(architect),只有资深程序员才可以担任. O'Reilly 出版过一本免费的小册子<Software Architecture Patterns>(PDF), 介绍了五种最常见的软件架构,是非常好的入门读物.我读后受益匪浅,下面就是我的笔记. 一.分层架构 分层架构(lay

[Machine Learning] 机器学习常见算法分类汇总

声明:本篇博文根据http://www.ctocio.com/hotnews/15919.html整理,原作者张萌,尊重原创. 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的.这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的分类. 博主根据原创基础上加入了遗

五种常见软件架构

一.分层架构 分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构.如果你不知道要用什么架构,那就用它. 这种架构将软件分成若干个水平层,每一层都有清晰的角色和分工,不需要知道其他层的细节.层与层之间通过接口通信. 虽然没有明确约定,软件一定要分成多少层,但是四层的结构最常见. 表现层(presentation):用户界面,负责视觉和用户互动 业务层(business):实现业务逻辑 持久层(persistence):提供数据,SQL 语句就放在这一层 数

python常见异常分类与处理方法

Python常见异常类型大概分为以下类: 1.AssertionError:当assert断言条件为假的时候抛出的异常 2.AttributeError:当访问的对象属性不存在的时候抛出的异常 3.IndexError:超出对象索引的范围时抛出的异常 4.KeyError:在字典中查找一个不存在的key抛出的异常 5.NameError:访问一个不存在的变量时抛出的异常 6.OSError:操作系统产生的异常 7.SyntaxError:语法错误时会抛出此异常 8.TypeError:类型错误,

常见加密算法分类,用途,原理以及比较

摘自:http://blog.csdn.net/zuiyuezhou888/article/details/7557048   密码学简介 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话保密专利出现.在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用. 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和

常见加密算法分类

摘自: http://blog.csdn.net/zuiyuezhou888/article/details/7557050 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法. 对称加密 指加密和解密使用相同密钥的加密算法.对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性.假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦.对称