摘要:
一、主从分离 一般MySQL架构为一主两从,此时,只保证了数据库高可用,并没有高性能 二、读写分离 在主从分离的基础上,写主库,读从库,提高数据库性能 三、读写分离方式 1、引入baomidou的动态数据源,只需要3步,操作简单 参见官网中的使用方法 https://gitee.com/baomid 阅读全文
摘要:
技术方案阶段: 一、产品方案文档和评审 1.项目背景和目标,评估价值,可以否决该需求 2.梳理外部依赖 3.系统架构 4.流程图 5.功能点 6.数据字典 7.接口文档 8.兼容性 老版本APP+新数据格式 新版本APP+老数据格式 二、技术选型的成本意识 1.研发成本:技术选型、架构设计、开发耗时 阅读全文
摘要:
一、Spring Boot核心注解 1.核心注解: a.@SpringBootConfiguration:包含了@Configuration,实现配置类 b.@EnableAutoConfiguration:使用Import引入了AutoConfigurationImportSelector类,而A 阅读全文
摘要:
一、背景 1.ES默认分页from+size 2.在大数据量和深度分页的时候,效率非常低 二、效率低原因 1.例如要查第501页的10条数据,from为5000,size为10 2.ES会查询并排序5010条数据,即处理了from+size条数据 3.ES为了性能,限制了分页数量,最大为1万,max 阅读全文
摘要:
一、bool查询包含四种操作 1.must 2.must not 3.filter 4.should 二、功能 1.must 对应mysql的 and a= 2.must not 对应mysql的 and a!= 3.filter 对应mysql的 and a= 4.should 对应mysql的 阅读全文
摘要:
一、概念 1.ES主要用于搜索 2.搜索要把更有相关性的结果展示出来 3.对一个文档评分,相关性越大,评分越高 4.打分的本质是排序 二、评分规则 1.ES5之前,默认评分规则是TF-IDF,这是信息检索领域最重要的发明 a.TF(Term Frequency)词频,检索词在一篇文档中出现的频次,检 阅读全文
摘要:
记得和某HR聊起招聘,HR说,好多工作N年的人,工作能力还不如刚毕业的学生。 最后总结说,他们只有经历,没有经验。 多么痛的领悟! 1. 一万个小时 vs 刻意练习 一万个小时定律:人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的 阅读全文
摘要:
一、ES基本概念 1. 节点:Elastic是一个分布式数据库,每个数据库实例是一个节点Node,一台服务器上可以有多个Node,可以多台服务器协同工作 2. 集群:一组节点Node构成一个集群Cluster 3. 文档:存储数据的基本单元称为文档Document,使用json表示 4. 索引:索引 阅读全文
摘要:
一、概念 GC,Garbage Collection垃圾回收,主要针对JVM中的堆和方法区,而JVM栈、本地方法栈,程序计数器都是线程私有的,跟随线程生命周期。 二、对象存活判断 1. 引用计数:每个对象有个计数器,多一个引用加1,少一个减1,为0时回收 2. 对象可达性分析:到GC Roots没有 阅读全文
摘要:
一、概述,内存结构图 二、堆Heap,存放对象实例,是垃圾回收的主要区域,非堆的内存不进行GC,GC会导致程序运行中断, 物理上可以不连续,堆空间不足时会产生OutOfMemoryException,各个线程的共享区域 1. 年轻代 a. Eden空间:存放新生的对象,绝大部分对象在这里;引发min 阅读全文