什么是SolrCloud
SolrCloud是Solr提供的分布式搜索方案,当仁爱奇异果需要大规模、容错、分布式索引和搜索能力时,使用SolrCloud。 如果系统的索引数据量很少,则不需要使用SolrCloud。 如果索引量大且并发搜索请求次数多,则必须使用SolrCloud来满足这些需求。
SolrCloud是一种基于Solr和Zookeeper的分布式检索方案,其主要思想是使用Zookeeper作为集群的配置信息中心。
有几个特征功能。
1 )集中配置信息
2 )自动容错
3 )近实时搜索
4 )查询时自动负载均衡
solr如何设置搜索结果的高位(得分)?
可以为文档中的域设置boost值。 boost值越高,计算出的相关得分越高,排名越高。 该方法可以提高热点商品和促销商品的排名。
SpringMVC全局异常处理
整个系统只有一个
使用方法:
1 )需要接口
HandlerExceptionResolver
2 )必须由springmvc组成。
处理逻辑:
捕获整个系统中发生的异常。
1、日志文件异常写入
2、及时通知开发商。 发短信,发短信。
显示网络故障等错误页面。 请重试。
网页静态化
优点:1 .有助于搜索引擎优化2 .提高访问速度3解决高并发问题
静态文件生成的时机:在后台追加、编辑商品时生成静态页面
1、mq发消息
2、接收消息,生成静态页面
3、nginx访问静态页面。
什么是sso系统
单点登录是指在多个APP应用程序系统中,用户只需登录一次就可以访问所有相互信任的APP应用程序系统。
登录处理流程:
1、登录页面提示用户名密码。
2、登录成功后生成token。 Token相当于原始jsessionid,字符串可以使用uuid。
3、将用户信息保存在redis中。 Key是将token转换为json,value是将TbUser对象转换为json。
4、使用字符串类型保存会话信息。 可以在key中使用前缀:token
5、设定key的有效期限。 模拟会话的有效期限。 一般30分钟。
6、将token刻成cookie。
如何判断是否登录
从cookie上取token
2 .无法取得未注册
3 .访问Token,在redis中询问Token是否过期
4 .如果已过期,则表示已登录
5 .未过期,已登录状态
实现购车商品的数据同步
1、要求用户登录。
2、将购物车商品清单保存在数据库中。 建议使用redis。
3、Key :用户id、value :购车商品列表。 hash,hash的field :商品id,value :推荐商品信息。
4、在用户未登录的情况下写cookie。 当用户登录后访问购物车列表时,
a )将cookie数据同步到redis。
b )删除cookie中的数据
c )查看购物车列表时符合redis标准。
d )如果redis中有数据,如果cookie中也有数据,则需要合并数据。 将相同的商品数量相加,向不同的商品添加新商品。
5、如果用户登录,则表示购物车列表基于redis。 如果您没有登录,则以cookie为准。
浏览器跨域问题
跨域是从一个域名的网页上请求另一个域名的资源。 出于安全原因,浏览器不允许来自不同源的请求
JSONP解决了AJAX域之间的问题:
JSONP是服务器和客户端在源之间进行通信的常用方法。 最大的特点是容易应用,旧的浏览器都支持,服务器改造非常小。
其基本思想是增加一个网页
海量数据的保存问题
现在,随着互联网的发展,数据量也以指数形式从GB增加到TB增加到PB。 对数据的各种操作也越来越困难,传统的关系数据库已经不能满足数据快速查询和插入的需要。 此时,NoSQL的出现暂时解决了这场危机。 通过降低数据安全性、减少事务支持和减少复杂查询支持来提高性能。
但是,NoSQL的权衡可能无法满足使用场景,例如事务和安全指标绝对必要的使用场景。 此时,NoSQL无法满足要求,因此必须使用关系数据库。 如何使用关系数据库解决海量存储问题? 在这种情况下,需要创建数据库集群,将一个数据库的数据分布存储在不同的数据库中,以提高查询性能。