• 动静分离 与 前后分离的区别


    动静分离:动态资源(jsp、ftl、thymeleaf)与静态资源(js、css、img)分开部署。

    前后分离:接口与视图分开部署,专业的人做专业的事情。例如:前端使用vue.js ,后端只需要提供接口即可。前端项目与后端项目都是独立部署的。

    如果我们静态资源与动态资源存放在同一台服务器上面,当静态资源不断增多的时候,我们的服务器访问是扛不住,因为静态资源消耗过多的带宽,导致静态资源无法访问或者访问非常的慢。

    在一个网站中,静态资源(js、css、img)是比较占宽带资源的,动态资源占带宽很小。1M带宽=128k/s

    所以网站中的静态资源一般都存放在第三方存储平台上,例如:七牛云、阿里云、腾讯云等。这些第三方存储平台内置CDN,进行内容分发,采用就近访问原则。

    CDN内容分发:就是将静态资源服务器部署在全国各个服务器节点上去。

    就近原则:用户访问的时候,遵循就近原则,离得越近传输速度越快,离得越远传输的速度相对来说就会慢一些。就像我们访问国外的网站速度比较慢,而    访问国内的网站速度就会快一些。

    静态资源在前端页面直接配置的是静态服务器上面的资源地址,直接走第三方服务器,而不在走我们本地的服务器。

     动静分离架构模式的缺点:

    举栗子:我们服务访问呢地址:http://www.test.coim,静态资源存放地址:http://static.test.com。

    这样的话就会产生跨域的问题,因为域名地址不同。所以这个时候我们可以使用Nginx来解决跨越问题。

    解决跨域问题:

    当访问 www.test.com/static的时候 使用 nginx  拦截 转发到 static.test.com

    当访问 static.test.com 的时候转发到真实的ip地址。

     分布式Session的问题

    产生原因:因为session是存储在服务器端的,当服务集群部署的话默认是被轮询访问的,这时候一台服务器存储的有session,另外一台服务器没有存储session就会产生分布式session的问题。

    解决方案:

    1、使用Spring-session 框架

    2、使用 token 代替 session ,token 存储在redis中。

  • 相关阅读:
    160720、SSM-Shiro使用详解
    Python学习(4)运算符
    Python学习(3)变量类型
    Python学习(2)基本语法
    Python学习(1)安装Python
    MonkeyRunner学习(3)脚本编辑
    MonkeyRunner学习(2)常用命令
    MonkeyRunner学习(1)测试连接
    Monkey学习(4)简单测试实例
    Monkey学习(3)如何在Android模拟器中安装apk
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/11160295.html
Copyright © 2020-2023  润新知