微信点餐系统

分布式系统

本项目是一个前后端分离的项目,支持分布式部署

1、什么是分布式系统
旨在支持应用程序和服务的开发,可以利用物理架构由多个自治的处理元素,不共享主内存,但是通过网络发送消息合作。

2、三个特点和三个概念
(1)、多节点                      分布式系统


(2)、消息通信                    集群


(2)、不共享主内存                分布式计算



3、分布式系统与集群

区别和联系:

分布式强调的是不同功能模块的节点,分布式系统中每一个节点都可以做集群。

集群指的的是相同功能的模块的节点。




4、分布式session

session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session。服务器使用session把用户的信息临时保存在了服务器上,
用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个
操作请求到了另一台服务器的时候session会丢失。

 cookie是保存在本地终端的数据。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网
 站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间
 ,所以每个域的cookie数量是有限的。
  cookie的组成有:名称(key)、值(value)、有效域(domain)、路径(域的路径,一般设置为全局:"\")、失效时间、安全标志(指定后,cookie只有在使
  用SSL连接时才发送到服务器(https));

token
 token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的
 前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库。

 cookie 和session的区别:
 (1)、cookie数据存放在客户的浏览器上,session数据放在服务器上。
 (2)、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
(3)、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。
(4)、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

token 和session 的区别:
文章目录