常见的软件架构结构主要包含:分层架构、事件驱动架构、微核架构、微服务架构、云架构。以前很少去读理论的书,现在看书,发现这些理论很好理解,实际工作中多少都有接触,只是深浅不同。
一.主要的五类架构
1.分层架构
主要分为表现层、业务层、持久层、数据库层。算是比较传统的一种方式,之前的JSP、servlet、structs1、structs2、spingMVC、springframework、JDBC、ibatis、mybatis、hibernate、JPA、sqlserver、oracle、MySQL等,在分层架构中使用多。
2.事件驱动架构
之前系统间通信除了数据库表共享,还有API,后面也有使用过MQ来传递数据。后面一些物联网采用的架构更多是事件驱动。终端设备通过MQTT等协议上传数据,后端的事件处理器通过连接MQ服务器得到消息并处理。面对大量数据上传、cache也常在这类架构中使用。
3.微核架构
这一类的,我接触的很少。估计在嵌入式系统中用一些吧。之前听过一个前辈做的系统,基于.NET的技术,dll都存在数据库,需要什么功能,配置好了,从数据库自动加载dll。思想与之相近吧。特点是小,插件即插即用、相对独立。
4.微服务架构
最近今年比较流行,特别是各种中台兴起的时代。我接触也不深,做过一些项目。刚开始主要还是针对后端功能,后面前端也微服务化了。在软件生命中后期,维护的专业性、升级的难度还是比较大的,没有想象的那么简单。springboot、Eureka、Zookeeper、Spring Cloud Gateway、Zuul、Spring Cloud Config、Consul、Nginx、Ribbon、Zipkin、Docker、k8s、ELK、MQ等在微服务架构中使用较多。
5.云架构
架构设计接触的少,使用到有些局部的云产品,如百度的BAE、BOS、OCR、图像识别、图像分割等。后面也参与到一些云原生的项目。文章来源:https://www.toymoban.com/news/detail-826732.html
二.后记
个人理解,如有不恰当之处,敬请谅解。从理论的角度,全面看一下各类架构,有利于理清思路。有的时候,一个系统或者平台不只有一种架构,可能有两种或者多种混合。几种类型的架构各有特点,各有适合的场景。所以,各种架构并不存在高明与愚笨之分,只有使用他的人才有高下之分。选择架构及相关技术,也不仅仅看场景,还要结合业主行业特点、维护难度、技术流行趋势带来的人才迭代等影响,综合考虑。文章来源地址https://www.toymoban.com/news/detail-826732.html
到了这里,关于几种主要的软件架构结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!