• 几种前后端分离开发部署模式说明


    没啥技术含量,主要是说明下几种模式,大家可以参考

    前后端彻底分离部署

    • 模式一 
      参考图


    说明: 利用ci/cd 基于nginx 部署静态网站(website 直接存储在nginx服务器中),接口调用使用独立的api gateway,此方法的好处是不同的团队负责,而且nginx 特别适合前端静态资源,不好的的是
    版本很重要(因为独立部署的,做好测试以及版本控制很重要不然配合不好容易ui不能使用报错,当然这个也不是nginx 的问题,核心还是版本控制)

    • 模式二 
      参考图


    静态站点数据放s3,nginx 做为cache 以及路由控制,实际上与模式一类似,主要是集中存储了

    • 模式三 
      实际上是二的变体,数据直接走s3,nginx 都不需要了,比较适合的场景是使用云端的服务,比如阿里的oss,aws 的s3.。。。 
      因为云端的可靠性以及灵活性是很方便的,比以上中自建的s3 会好很多,而且自建s3一般是不会直接暴露到外部的
    • 总结 
      以上几种方式,数据分离比较开的,每个团队管理自己的,但是问题也会比较明显协调以及统一部署很重要,而且彻底分离会有 
      跨域请求的问题,解决方法比较多,jsonp,cors。。。。,当然如果nginx 同时提供了api gateway 的proxy 那么也就没有跨域的 
      问题了,相当与混合一起了,但是独立部署,即有独立的好处,也有统一的好处,就是需要做好nginx 的配置管理,同时本地测试 
      的话,需要结合proxy 进行处理(webpack 就直接支持)

    前后端独立开发但是合并部署

    • 模式一 
      参考图


    说明:实际上还算是独立部署,但是对于后端包含了一个入口,可以直接引用website 的资源,好处很明显不存在跨域的问题了,静态资源可以放s3
    或者自己部署的nginx

    • 模式二 
      参考图


    说明:每个服务包含自己的前端(可以独立开发,但是使用一个后端通用的打包集成模式,比如maven使用frontend plugin,打包为jar 包,使用框架自己的resource 处理机制),好处比较明显,版本管理好弄,而且管理体系比较统一,而且也没有跨域的问题了

    • 模式三 
      参考图

    说明: 实际上是二的变体,二是让后边做为核心,使用后边统一的ci/cd 体系,三模式是让前端做为核心(一般主要需要使用nodejs一些的技术栈)

    说明

    以上是几种玩法, 实际上玩法还是很多的,而且现在是一个serverless 以及低代码的时代了,越来越多可选的模式可以使用了,但是核心还是基本都是
    以上几种,只是托管模式变了(我们关注点不一样了,我们核心是关注业务操作了,其他的平台帮助我们解决了)

  • 相关阅读:
    Nginx负载均衡配置
    云鹏在美团八年工作总结
    尽量不要让儿女从事这3种工作,钱再多也别做,坚持再久也没前途
    Nginx 配置ip_hash
    postgresql获取表结构,表名、表注释、字段名、字段类型及长度和字段注释
    更快的Maven来了,我的天,速度提升了8倍!
    Nginx负载均衡配置及算法详解
    nginx负载均衡策略:ip_hash、url_hash
    Windows Phone实用开发技巧(41):解决WebBrowser中显示黑色背景网页闪屏
    Windows Phone实用开发技巧(32):照片角度处理
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/15856135.html
Copyright © 2020-2023  润新知