前后端分离架构学习(一)架构理解与总述

    1.写在最前面

    由于公司发展的需求,需要将现有的所有项目进行架构改造,采用前后端分离的架构。得空可以研究一下,记录一下我在学习中得心得,方法。也许不是很专业,如有出入,欢迎指正。

   前后端分离的架构这在我刚入行不久,就觉得会是一个大趋势,由于当时的时间有限,没有深入的去学习这个框架。学习这个框架之前如果你对以下的技术比较熟悉,那么学习起来可能就不会太吃力。

 ----node.js (强大的js,应用广泛,特性是可以直接用他写一个服务端,我之前就是用这个写游戏服务器的)

 ----H5/CSS/Jquery(如果你没了解过Vue,那么这些对你学Vue的时候会有一定的帮助,我说的是一定的帮助,如果你了解组件化开发,可能会学的更快)

  ----熟悉Spring/SpringBoot(对你学习后端开发很有帮助)

  当然你以上如果都不会的话,建议先去学习一下。

   2.前后端分离的架构分析

      我们先看看基本的架构,比如我们普通的web项目是这样的,前端跟后端是在一起的,也就是集中式的项目。

      前后端分离,顾名思义就是后端跟前端分开了。变成了两个项目,后端人员专注于后端开发,前端人员专注于前端开发。这很像java中的业务分层。

       分工明细,并行开发,这样的结果只有一个,效率的提升。

       假设有两个开发人员,一个是前端,一个是后端,如果他们采用集中式的项目结构来开发,两个人必须拉取同一套代码开发,前端或者后端需要测试时,都需要等对方将功能开发完整才可以进行测试。

      如果他们采用前后端分离的方式,就可以实现各自拉各自的代码,前端如果要测试的话,就算后端接口没有开发完成,前端也是可以进行模拟测试的(使用moke),后端开发完接口直接发布即可,发布完继续开发。

       以此我们用这个思维方式往下延申,既然开发分离了,交互方式分离了,代码结构分离了,部署也是分离的。

       然后在此想想分离以后的项目有什么变化?

         1.前端代码与后端代码在不同的工程目录或不同的代码库,前端不需要知道后端的技术架构,后端也不需要知道前端的技术架构,前后端都有充分的自由采用各种技术来进行系统的性能优化。

         2前端通过HTTP请求获取数据,后端按约定的数据格式提供接口,一般为REST风格的接口。

         3.前后端项目可以部署在不同的服务器上,提高系统的可维护性以及容灾能力。

         4.就是上面讲的提升开发效率的问题。

        采用亲后端分离也会出现这样一个问题,----跨域访问的问题,这个问题在spring4.2版本及以上有很好的解决。

        后面的学习中这是一个重要的点。

        总结,前后端分离的架构可以给开发和应用性能带来很可观的效率,也是目前很多公司项目架构转变的主流。接下来的路线我会从前端开始入手,然后是后端,最后前后端的整合。

        

猜你喜欢

转载自blog.csdn.net/qq_34128089/article/details/104019613