信息系统常见的系统架构

1.1单文件架构

现在很多企业内部虽然已经建设了一些信息系统,但还是有不少业务没有用专门的信息系统管理起来,普遍都是采用Excel表格来实现这些业务数据的填报和查询统计。Excel就是属单文件架构,这种架构是指整个系统就是一个文件,打开文件就可以直接操作,优点是简单易用,电脑上安装相应的软件就能使用,不需要专门的服务器,适合个人办公使用,如果有多个人需要查看或操作同一个表格文件时,就很不方便,需要把文件传来传去,每个人改完,还得跟其他人改的内容手动合并,不仅效率很低,而且很容易出错。

1.2两层架构

二十年前,随着PC电脑的普及,很多企事业单位内部开始建设信息系统,那时候的信息系统基本都是采用C/S模式的两层架构,C是指客户端软件(Client),S是指服务器端软件(Server),服务器一般都是指关系型数据库,就是客户端软件通过网络直接连接数据库进行数据的增删改查操作。这种架构相对上面的单文件架构来说,可以实现功能更加强大和更加完善的信息系统,支持多人同时操作同一个业务的数据,而且,支持数据格式和业务逻辑校验,防止无效数据录入;支持操作权限管控,防止非法操作。

但随着信息化建设的不断发展,使用信息系统的人越来越多,这种模式的弊端也逐步显现出来,就是在用户量比较大时,这种客户端软件直接连数据库的模式会造成整个系统卡顿,甚至宕机。因为这种模式,每个客户端都会与数据库至少建立一个连接,且一直保持,当用户比较多时,就会建立大量的数据库连接,造成数据库性能急剧下降,最终影响整个系统的访问,所以,这种模式现在已经很少见了。

1.3多层架构

现在的信息系统基本都是采取多层架构,最典型的就是三层架构,即:客户端软件+应用服务器+数据库,我们常说的B/S架构就属于这种,B是指Web浏览器(Browser),S是指应用服务器(包含Web服务器),实际后面还有关系型数据库,采用HTTP协议通信的手机APP、微信小程序等,也可以看做是B/S架构里的客户端,因为他们可以和Web页面共用服务器。

采用这种架构,客户端和数据库之间增加了一个应用服务器,客户端不能直接连接数据库,如果客户端需要对某项业务的数据进行增删改查操作,需要先连接到应用服务器,并发送具体的操作请求和参数,应用服务器进行相关校验后,再连接数据库执行实际的增删改查操作,并把结果返回给客户端,然后就关闭与数据库和客户端的连接,也就是说,应用服务器与数据库和客户端之间都不会一直连接,而是用完就关闭,这种方式可以大幅提升整个系统的性能。而且,这种架构把业务系统分成了前端界面和后台服务两个部分,前端界面负责填报和展示数据,后台服务负责执行必要的数据校验和业务逻辑处理,并连接数据库执行实际的数据增删改查操作,前端代码由Web浏览器或手机APP等客户端软件执行,后台服务由应用服务器执行。这种将前后端解耦分别开发和执行的模式,一是可以让软件系统的各个部分分工更加清晰明确,各自可以专注去解决各自层面的问题,二是可以实现资源复用,例如同一个后台服务,可以供Web页面、手机APP或微信小程序调用,而不需要针对每种终端都重复开发。

对于大多数中小型信息系统来说,这种三层架构基本就能满足要求了,如果还想提升性能,可以增加缓存服务器,将需要频繁访问的热数据保存到缓存中,需要查询时,可以直接从缓存获取,从而减轻关系型数据库的压力,提升系统的承载能力。

对于大型信息系统来说,由于要承受大量并发访问,则上面这种简单的三层架构也无法满足要求,于是又衍生出了集群架构和微服务架构等多层架构,在这些架构下,服务器端不只是简单的一个服务器为客户端提供服务,可能有好多台服务器组成集群,然后在前面加上负债均衡服务器进行统一的业务受理和任务调度,从而可以承载更多的并发访问。采用这种架构,每台应用服务器上的代码都是一样的,当客户端请求某个后台服务时,由负债均衡服务器按照随机、轮询等策略,将请求分派给其中一台处理,然后将处理结果返回给客户端。

如果采用微服务架构,还需要在应用服务器集群前面增加微服务网关,在网关中配置每个后台服务都由哪些服务器提供服务,从而可以实现针对不同的后台服务,可以分配不同的服务器或服务器集群进行处理,访问量小的,可以多个后台服务放在一台服务器上,访问量大的,可以单独放在一台服务器或者多台服务器上。在数据库层面,关系型数据库和缓存数据库也都可以由多台服务器组成集群。另外,根据需求,还可以部署单独的消息服务器、身份认证和鉴权服务器等。这些服务器端软件可以部署在物理主机或虚拟主机上,也可以部署在容器内,总之,部署方式可以非常灵活,可以按需扩容,是目前很多大型互联网平台普遍采用的架构。

1.4 TaskBuilder支持的系统架构

用TaskBuilder开发的应用具体采用的什么架构取决于使用的什么版本的任擎,共享版的任擎采取的是最简单的三层架构,即在服务器端,由一个单独的任擎进程统一为客户端提供所有服务,包括静态文件访问、动态服务执行、数据库操作、身份验证、数据缓存等等,可以满足中小型信息系统的需求。

如果系统用户较多,并发访问量较大,则可以使用任擎企业版或集群版。

任擎企业版支持在一台服务器上运行多个任擎进程,一个主进程,多个从进程,由主进程统一受理客户端请求,然后再分发给从进程进行处理,处理完再将结果返回给主进程,主进程再返回给客户端,从而实现负载均衡,满足大量用户的并发访问。并且,主进程负责实时监控各个从进程的运行状态,如果发现某个从进程出现异常,可以主动重启该从进程,保证整个系统能长期稳定运行。

任擎集群版支持基于微服务架构的分布式部署,可以将整个系统的各个后台服务分别部署在多个主机或容器中,可以根据各个后台服务的负载灵活分配服务器资源或弹性扩容,可以支持海量用户的并发访问,适合用来运行大型信息系统或互联网平台。

不管使用什么版本的任擎,核心功能都是一样的,只是架构不一样,将任擎从一个版本切换为另外一个版本时,用TaskBuilder开发的应用不需要进行任何修改,可以平滑切换。

相关推荐
山东点狮信息科技有限公司11 小时前
企业级开源OA系统推荐
vue.js·spring boot·性能优化·系统架构·开源
Sam_Deep_Thinking11 小时前
DDD里的领域服务,到底什么时候该用?
程序员·架构·系统架构·ddd
国科安芯13 小时前
抗辐射微控制器在卫星电源管理分系统中的控制架构与可靠性研究——基于AS32S601型MCU的星载能源系统智能化管理技术分析
网络·单片机·嵌入式硬件·安全·架构·系统架构·能源
liulilittle2 天前
麻将系统架构
服务器·网络·分布式·游戏·系统架构·通信
字节跳动开源3 天前
字节跳动 STE 固件团队亮相 OCP China 2026:从标准化到智能化,构建下一代数据中心固件基础设施
人工智能·ai·系统架构·开源·硬件工程
国科安芯3 天前
ASC8T245S 8通道电平转换设计实战:从系统架构到QFN24 Layout再到量产测试
网络·单片机·物联网·安全·fpga开发·系统架构
笨拙的老猴子3 天前
小明学架构师的第七课:策略模式:告别if-else的选择困难症
系统架构·策略模式
阿宇的技术日志3 天前
阿里 AI 云诊断系统 Loop Engineering 实战:实现从日志扫描到预发部署的全自主闭环
人工智能·系统架构·loopengineering
圣殿骑士-Khtangc5 天前
传统单体架构改造方案实战:从单体地狱到模块化架构的渐进式演进
系统架构
消失的旧时光-19435 天前
第七篇:RTK + 地图 + 机器人:完整定位系统架构解析
android·系统架构·机器人·imu·rtk