2022
我们一起努力

web开发中架构的含义是什么 - 大数据

这篇“web开发中架构的含义是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web开发中架构的含义是什么”文章吧。

架构的含义

小石最近加入了一家生鲜电商公司。公司现在的首要任务是把电商系统给做出来,让用户能够通过PC、App购买公司的生鲜产品。

关键词:系统,所谓系统可以简单理解为我们平时所说的应用,当然系统可以包含多个小系统,这里为了简单起见,我们就先假设只开发这样一个单体应用,包含了用户下单购买的基本功能。

小石通过分析其他电商系统,知道至少需要 用户注册登录模块用户信息模块商品模块订单模块 系统才能够进行运转。

系统的功能确定了,该选择用什么样的语言进行开发呢?选择什么样的方式进行开发呢?与大家一起讨论后,大家认为现在阶段的首要目标是快速做出系统来,因此大家决定采用PHP来开发,并决定使用 Yii2 框架,数据库方面使用 MySQL,WebService使用Nginx。

关键词:框架,为了快速完成系统的开发,我们会采用一些已被业内实践确认的规范来进行,比如这里采用 YII2 框架,也就是采用了业内的 MVC 规范。所以可以认为所谓的框架就是确定了一些业内规范,从某种程度上对大家形成约束或者形成都能理解的规定。

从开始到现在,还没有写一行代码,一直在进行设计与讨论,讨论需要哪些功能,设计采用什么 结构,而这里的结构主要包括了两方面:逻辑的结构与物理的结构。所谓逻辑结构就是指系统是按照什么样的流程来运转,需要哪些功能来支持。所谓物理,就是当编码完成所有的逻辑后,系统采用什么形式来部署运行。

那么到底什么是架构呢?我理解的架构:在系统诞生之初,对系统进行的逻辑设计与物理设计。他是系统的草图,可以类比为建筑领域的设计图。这张图需要确定:

web开发中架构的含义是什么 - 大数据
  • 业务需要的功能模块划分(建筑设计需要划分区域功能)

  • 技术选型,用什么框架、什么存储、什么缓存(建筑领域也要确认框架结构还是框剪结构)

架构是进化的

一个架构的0.1版本绝对不会是完美的,世界上也不存在完美的架构。像上面的小故事,我们采用最简单的架构,如下图(物理角度):

我们把所有的功能写在一份代码里,所有的数据存在一个库里,所有的代码部署在同一个Nginx上,甚至还可能我们的Nginx、MySQL都部署在同一台机器上。

公司业务得以发展,人员得以增加,系统变得更加复杂。这个时候原来的架构,一无法满足业务快速发展,二无法让多人开发变得愉快。因为几十个人在同一份代码里进行编码,想一下都是头大。文件冲突、功能依赖、bug排查、测试功能,这些都无法愉快的解决。这时就得根据新的情况重新设计架构。

我们将代码功能进行拆分,将以前的模块拆分成独立的系统,将MySQL进行主从设计,利用Nginx做负载等等。

那么为什么不一上来就进行拆分呢?因为一开始人手不足,拆分过细,开发周期慢,业务也不需要如此细致的划分。

以上就是关于“web开发中架构的含义是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注云行业资讯频道。

赞(0)
文章名称:《web开发中架构的含义是什么 - 大数据》
文章链接:https://www.fzvps.com/88772.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!