实质这些业务相关的信息是会存放在统一的一个地方,比如缓存、es等等。
1.快速扩容
2.弹性扩容
登录的基本信息,登录后的基本信息:用户凭证,AES、JWT进行加密等。
由于业务量大,需要部署多台服务器构成应用集群,这时候请求一般经过DNS,进入网关层,通过负载均衡算法,分配到不同的服务上,业务的上下文数据在不同的服务器上,是无法同步的。因此我们做无状态化设计,考虑的就是用户的session数据如何存放。
用户session数据存放:
分析
直接存放在网关层的话,就是类似一个单点登录的,这时候网关层是有状态的。单点,不高可用,有状态,不太好。
优化:
做集群,同步数据,全量。
特点:
1.保证高可用。
2.有状态化
这时候还是有状态,如果其中一台机器挂了,还未同步到另外两台,信息还是会丢失。同时,还要解决复杂的全量同步数据问题。
满足:
用户Session数据外部存储
特点:
类似使用redis做分片以及集群。
无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大.另一方面,在服务器不需要先前信息时它的应答就较快.客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)