课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
架构设计思维是每一位软件开发架构师都需要培养的一个软件开发能力,而本文我们就通过案例分析来了解一下,常见的软件架构设计思维都有哪些类型。
1、烟囱式架构
主要是指一种完全隔离的架构设计思路,系统完全不和外界交互,自己能把能力实现即可,所以又被称为信息孤岛,一个又一个的信息孤岛,互相之间互不交互,但是这种场景通常来说是不存在的。
2、微内核架构
微内核架构通常用于处理那种系统都相对对立,但是系统之间有共享,但是共享的内容相对比较薄,这些能力或者服务通常以核心的形式存在,所有的服务依赖于他们,比如说一些账户能力、权限管控能力,然后业务系统围绕这部分能力进行业务的能力的构建。
3、分层架构
分层架构主要是对于一个系统内部结构的描述,这应该是大家常见的模式了,我们按照能力职责对于系统、服务、能力又或者代码进行分层管理,拿一个web项目来说,大致就分成了:展示层、业务层、持久层。按照我们系统的能力又大致分为:接入层、业务层、数据访问层。好处是每层都仅需要关注自己的职责就好,定义好输入输出,能力维护相对清晰单纯、好维护、伸缩性好、易测试、好运维。
4、六边形架构
六边形架构本质上也属于一种分层架构,只不过分层的是按照内部和外部来分,内部内聚了服务的业务逻辑,外部表示服务的驱动逻辑、基础设施等,内部通过端口和外部进行通信,端口能够对应多个外部系统,不同的场景使用不同的适配器,所以六边形架构又被称为端口-适配器架构。重点主要体现在:关注点(业务逻辑收敛,考虑业务功能的稳定,使用的不确定性)、外部可替换、依赖倒置等。
5、SOA架构
SOA即前面提到的面向服务架构,它根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用,服务之间通过简单但又精确的接口进行通信。SOA服务主要是有以下几个基本特征:可从企业外部访问、随时可用、粗粒度的服务接口分级、松散耦合、可重用的服务、服务接口设计管理、标准化的服务接口、支持各种消息模式、精确定义的服务契约等。对于业务合作友好,出于商业流程协作等目的形成的一种架构技术。
6、微服务架构
微服务架构是一种通过多个原子能力的“小型服务”来组成更上层单个应用的架构方式,然后各个原子服务各自维护,可以使用不同的语言、不同的存储、也可能是同机部署也可能不是。主要专注于单一职责、语言无关、细粒度服务的构建。
7、事件驱动的架构
事件驱动顾名思义以事件为核心,通过规范事件、通过处理事件生成、发现和处理来进行节点驱动的架构设计思路。核心思路就是在系统间建立一套事件队列管道,然后系统外部的动作以事件的形式放到管道中,然后各个子系统从管道中获取自己感兴趣的消息,可以对消息进行处理也可以对消息进行附赠信息。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。