网站建设基本流程包括,成都旅游必去景点,厦门网站建设68,怎么建设咨询网站1、面试#xff1a;为什么要用 Freemarker 静态化?如何做的#xff1f; 页面静态化是指使用模板引擎技术将一个动态网页生成 html 静态页面。 满足下边的条件可以考虑使用静态化#xff1a; 1、该页面被访问频率高#xff0c;比如#xff1a;商品信息展示、专家介绍页面等…1、面试为什么要用 Freemarker 静态化?如何做的 页面静态化是指使用模板引擎技术将一个动态网页生成 html 静态页面。 满足下边的条件可以考虑使用静态化 1、该页面被访问频率高比如商品信息展示、专家介绍页面等。 2、页面上的数据变化频率低比如商品发布后对商品信息的修改频率低专家介绍 信息修改频率低 静态化的技术很多Freemarker 是一个成熟的开源的模板引擎工具简单易用功能强大 本项目使用 Freemarker 将课程信息静态化 1使用 Freemarker 的标签编写课程信息的模板 2调用接口获取模板上需要的模型数据 3调用 Freemarker 的 API 生成静态页面。 4生成的静态页面最终会上传到文件系统方便访问。 2 、Elasticsearch是啥 Elasticsearch是一个开源的高扩展的分布式全文检索引擎它可以近乎实时的存储、检索数据 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能但是它隐藏了Lucene的复杂性从而让全文搜索变得简单。 什么是Lucene Lucene就是一个jar包里面包含了各种建立倒排索引的方法java开发的时候只需要导入这个jar包就可以开发了 什么是全文检索 全文检索是指计算机索引程序通过扫描文章中的每一个词对每一个词建立一个索引指明该词在文章中出现的次数和位置当用户查询时检索程序就根据事先建立的索引进行查找并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。 什么是倒排索引 以前是根据ID查内容倒排索引之后是根据内容查ID然后再拿着ID去查询出来真正需要的东西 ES 和 Lucene的区别 Lucene不是分布式的。ES的底层就是LuceneES是分布式的 3、本地事务和分布式事务 本地事务 应用主要靠关系数据库来控制事务而数据库通常和应用在同一个服务器所以基于关系型数据库的事务又被称为本地事务。 简单地说就是通过服务自己的数据库来控制事务 分布式事务 在分布式系统环境下通过与不同的服务进行网络通信去完成事务称之为分布式事务。 【补充】 数据库事务事务的控制是利用数据库本身的事务特性来实现的 关系型数据库关系型数据库是一个结构化的数据库创建在关系模型二维表格模型基础上一般面向于记录。SQL 语句标准数据查询语言就是一种基于关系型数据库的语言主流的关系型数据库包括 Oracle、MySQL、SQL Server等 非关系型数据库NoSQL除了主流的关系型数据库外的数据库都认为是非关系型。主流的 NoSQL 数据库有 Redis、MongBD等 关系型数据库与非关系型数据库的区别主要有三个方面 ①存储方式不同关系型天然是表格式存储在表格中非关系型不存储在行和列中而是大块的组合在一起通常存储在数据集里比如文档或图结构中 ②扩展方式不同关系型是纵向扩展也就是提高处理能力使用速度更快速的计算机非关系型是横向扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。 ③对事务的支持性两者都支持事务但是NoSQL的稳定性方面没法和关系型数据库比较因此一般不用NoSQL 4、CAP理论 CAP 是 Consistency、Availability、Partition tolerance 三个词语的缩写分别表示一致性、可用性、分区容忍性。 一致性客户端经过网关访问用户服务的两个结点户不管访问哪一个结点拿到的数据都是最新的。比如查询小明的信息不能出现在数据没有改变的情况下两次查询结果不一样如果对数据进行更新查询到的结果得是更新后的数据 可用性是指任何时候查询用户信息都可以查询到结果但不保证查询到最新的数据。 分区容忍性也叫分区容错性由于网络通信异常导致请求中断、消息丢失但服务依然对外提供服务。 但其中C和A不能同时满足因为如果想要满足C一致性就要等到数据更新后比如在用户服务节点1上更新了数据此时服务节点2还是旧数据需要等待节点2将数据同步过来后才能保证不论取哪个结点的数据都是最新的而A是要随时取随时都能取到数据也就是即使在节点2同步数据的过程中也是能取到数据的两者相矛盾。 学习 CAP 理论该如何控制分布式事务呢 学习了 CAP 理论我们知道进行分布式事务控制要在 C 和 A 中作出取舍保证一致性就不要保证可用性保证可用性就不要保证一致首先你确认是要 CP 还是 AP具体要根据应用场景进行判断。 CP 的场景满足 C 舍弃 A强调一致性。比如银行转账 AP 的场景满足 A 舍弃 C强调可用性。比如订单退款今日退款成功明日账户到账 在实际应用中符合 AP 的场景较多其实虽然 AP 舍弃 C 一致性实际上最终数据还是达到了一致也就满足了最终一致性所以业界定义了 BASE 理论 5、BASE理论 BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent (最终一致性)三个短语的缩写。 基本可用当系统无法满足全部可用时保证核心服务可用即可比如一个外卖系统每到中午 12 点左右系统并发量很高此时要保证下单流程涉及的服务可用其它服务暂时不可用 软状态是指可以存在中间状态比如打印自己的社保统计情况该操作不会立即出现结果而是提示你打印中请在 XXX 时间后查收 最终一致性退款操作后没有及时到账经过一定的时间后账户到账舍弃强一致性满足最终一致性。 6、分布式事务控制有哪些常用的技术 消息队列对于一个任务服务A已经完成该服务B执行。服务A需要通知服务B让B开始执行。可以先由A通知消息队列然后再有消息队列通知服务B 任务调度服务A已经写入一部分数据需要让服务B进行数据同步可以写一个调度程序用于将服务A中的数据不断同步到服务B中 项目中用的是任务调度