4.尚x谷项目面试题笔记(17-21)
文章目录
redis在项目中的使用场景
主要是数据类型与使用场景有一个映射。
es(Elasticsearch)与solr的区别
solr 为啥要借用zookeeper进行管理
ES集群
单点登录实现的过程
什么是单点登录
一处登录,多处使用。比如你登陆JD,搜索项目和详情项目,都有你登陆的信息(无论你怎么跳转),但是你只登陆了一次,没有给每个项目都登陆一遍。前提是:单点登录多使用在分布式系统中。单独的web项目可以使用单点登录,但是没有必要。
实现流程
token:简单理解为门票
demo
购物车实现过程
购物车与用户的关系
购物车操作有哪些
注意:cookie如果被禁用可以使用localStorage
第一次添加数据的时候,要先添加到数据库再添加到缓存。
消息队列在项目中的使用
在这里不需要关注缓存是否更新,可以节省大量时间。
3.排队
高并发的时候,消息队列可以让请求排队。
电商中的使用场景
第一步之后,后续的操作,可以放消息队列。然后直接反馈给用户说下单成功了。因为只要付钱了,用户的反应就是我已经买了,那些业务用户不关心,不应该让用户等待,这种设计合情合理。
消息队列的弊端
但是还是要根据项目需求,大数据项目就需要kafka。
延迟队列的用法:订单模块利用延迟队列,去请求支付宝的支付结果信息,而不是单纯的等待。