摘要: 1、机器配置与相关概念 4核8G : 每秒500个请求 8核16G : 1000~2000 16核32G :3000~4000 当然你也要考虑你请求耗时 2、IO相关的性能指标 IOPS:机器随机IO并发处理的能力,内存中更新的数据会由线程在不确定的时间刷入磁盘中,这就是随机IO的过程。如果你的IO 阅读全文
posted @ 2020-09-11 23:20 TPL 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1、es生产集群的部署架构是什么?每个索引的数据量大概有多大?每个索引大概有多少分片? es生产我们部署了五台机器,每台机器是6核64G的,集群总内存是320G 集群的日增量2000w条数据,大概500M。每月大概增加6亿条数据,系统已经运行了几个月,现在es数据量大概100g左右 目前线上五个索引 阅读全文
posted @ 2020-08-18 21:46 TPL 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 1、上图 2、存入数据筛选 假如你向这台机器写入了300G的数据,那么就有270G左右的数据再磁盘。 比如es存储要1T,那么你的多台机器留给os cache的内存总和要有512G以上。 所以对存储在es中的数据进行筛选,比如就写入es id,name,age,然后其他的数据存储再hbase或者my 阅读全文
posted @ 2020-08-17 22:47 TPL 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 1、直接上架构图 2、前情提要 底层 lucene :lucene 就是一个 jar 包,里面包含了封装好的各种建立倒排索引的算法代码 倒排索引:在搜索引擎中,每个文档都有一个对应的文档 ID,文档内容被表示为一系列关键词的集合。倒排索引就是关键词到文档 ID 的映射,每个关键词都对应着一系列的文件 阅读全文
posted @ 2020-08-17 22:02 TPL 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 1、构造方法 corePoolSize : 核心线程数 maximumPoolSize : 最大线程数量 keepAliveTime : 空闲存活时间 unit :时间单位 workQueue :阻塞队列,用来存储等待执行的任务。 ArrayBlockingQueue:数组有界队列,先进先出 Del 阅读全文
posted @ 2020-08-17 16:07 TPL 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 重要的参数 默认为0,-1表示正在创建table private transient volatile int sizeCtl; / HASH_BITS是0x7fffffff,为了消除最高位上的负符号 hash的负在ConcurrentHashMap中有特殊意义表示在扩容或者是树节点 static 阅读全文
posted @ 2020-08-16 13:09 TPL 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1. 高并发系统的限流如何实现2. 高并发秒杀系统的设计3. 负载均衡如何设计 阅读全文
posted @ 2020-08-13 15:22 TPL 阅读(86) 评论(0) 推荐(0) 编辑
摘要: Spring 1. Spring的IOC/AOP的实现(必考)2. 动态代理的实现方式(必考)3. Spring如何解决循环依赖(三级缓存)(必考)4. Spring的后置处理器5. Spring的@Transactional如何实现的(必考)6. Spring的事务传播级别7. BeanFacto 阅读全文
posted @ 2020-08-13 15:21 TPL 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1、hashMap数据结构 jdk8 : 数组 + 列表 + 红黑树 2、JDK1.8中对hash算法和寻址算法的优化? jdk1.8对hash算法的优化: 将key的hash值和它的高16位做了异或运算,因为寻址算法的时候,与hash的低十六位进行与运算,所以要让低十六位同时保持高低十六位的特征( 阅读全文
posted @ 2020-08-13 15:20 TPL 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1. 运行时数据区域(内存模型) 2. 垃圾回收机制(必考) 3. 垃圾回收算法(必考) 4. Minor GC和Full GC触发条件5. GC中Stop the world(STW)6. 各垃圾回收器的特点及区别7. 双亲委派模型8. JDBC和双亲委派模型关系9. JVM锁优化和锁膨胀过程 阅读全文
posted @ 2020-08-13 15:17 TPL 阅读(62) 评论(0) 推荐(0) 编辑