写点什么

Lesson 9 JVM 高性能的架构 秒杀 搜索引擎 心得笔记

用户头像
edd
关注
发布于: 2020 年 08 月 05 日
Lesson 9  JVM   高性能的架构 秒杀 搜索引擎 心得笔记

这周主要学习JVM和高性能的架构(秒杀)JVM原理和秒杀 搜索引擎都在本周作业中有所体现,所以本周总结主要针对秒杀讲讲个人体会。



JVM垃圾回收

JVM垃圾回收就是将JVM堆中已经不再被使用的对象进行清理。

如何判断哪些对象需要回收,有两种算法:

  • 计数法:

  • 可达性分析算法:



秒杀系统往往会面对以下挑战和问题:

  • 瞬时高并发带来的带宽、数据库、性能压力

  • 秒杀逻辑的安全可靠,且保证公平

为了应对上述问题,需要一些架构思路:

  • 静态资源加速,可用CDN加速网页、图片、资源文件等;

  • 缓存加速,类似CDN,一般可以是业务数据的缓存;

  • 限流,控制各个环节的并发,比如课程分享的三级阀门:秒杀页面限流、下单页面限流、支付系统限流;

  • 简化流程,砍掉非必要的部分,减少系统压力,避免短板;

  • 安全:前端逻辑支持,防止提前刷单等;

  • 应急预案:作好最坏的情形下的应对策略,有备无患;

总结 :秒杀系统难点不就在于具体业务的逻辑实现算法 和 数据持久化的处理

秒杀原则

  1. 数据要尽量少

  2. 请求数要尽量少

  3. 路径要尽量短

  4. 依赖要尽量少

  5. 不要有单点



搜索引擎

搜索引擎主要利用倒排索引对数据进行查询优化;

倒排索引指的是以关键词为单位,关联对应的包含关键词的文档;

lucene与elasticsearch,后者基于前者,做了分布式的支持,并封装了复杂的api;



用户头像

edd

关注

还未添加个人签名 2018.01.18 加入

还未添加个人简介

评论

发布
暂无评论
Lesson 9  JVM   高性能的架构 秒杀 搜索引擎 心得笔记