高性能小视频服务系统"/>
EasySwoole ElasticSearch打造高性能小视频服务系统
好久没有更新教程,现在更新一套缓存视频给大家
Elasticsearch的索引思路:
将磁盘里的东西尽量搬进内存,减少磁盘随机读取次数(同时也利用磁盘顺序读特性),结合各种奇技淫巧的压缩算法,用及其苛刻的态度使用内存。
所以,对于使用Elasticsearch进行索引时需要注意:
- 不需要索引的字段,一定要明确定义出来,因为默认是自动建索引的
- 同样的道理,对于String类型的字段,不需要analysis的也需要明确定义出来,因为默认也是会analysis的
- 选择有规律的ID很重要,随机性太大的ID(比如java的UUID)不利于查询
关于最后一点,个人认为有多个因素:
其中一个(也许不是最重要的)因素: 上面看到的压缩算法,都是对Posting list里的大量ID进行压缩的,那如果ID是顺序的,或者是有公共前缀等具有一定规律性的ID,压缩比会比较高;
另外一个因素: 可能是最影响查询性能的,应该是最后通过Posting list里的ID到磁盘中查找Document信息的那步,因为Elasticsearch是分Segment存储的,根据ID这个大范围的Term定位到Segment的效率直接影响了最后查询的性能,如果ID是有规律的,可以快速跳过不包含该ID的Segment,从而减少不必要的磁盘读次数
第1章 课程概述
本章介绍课程技术点、需要的环境准备以及easyswoole的简介,让大家轻松掌握课程的特色,明确学好本门课的技术储备。
第2章 EasySwoole框架快速上手
本章讲解easyswoole的安装、easyswoole的结构分析、easyswoole 的其它特性以及 实战第一个easyswoole服务,带领大家快速上手ES框架。
第3章 性能测试
本章会介绍为什么要学习性能测试、性能测试工具ab的介绍、ab测试详细讲解以及 最后产出easyswoole http性能测试报告,带你深入理解性能测试的真谛。
第4章 玩转高性能消息队列服务
本章讲解消息队列、学习消息队列的原因、常用消息队列介绍以及使用场景解刨以及利用easySwoole打造高性能消息队列服务。
第5章 小视频服务平台 - 前后端分离以及平台后端整体架构
本章介绍视频、视频技术栈、视频上传功能开发、性能优化以及利用easyswoole高性能消息队列处理视频上传处理任务。
第6章 利用EasySwoole处理小视频业务
本章介绍首页视频页面、利用easyswoole开发首页视频API业务、高并发下性能优化-首页页面API数据优化等,带大家使用easyswoole的websocket打造小视频信息推送服务。
第7章 打造高性能API服务系统 - EasySwoole API篇
本章讲解swoole table场景在API高并发下的使用以及性能分析、API场景下如何利用Swoole的异步任务高效的处理相关统计及API场景下如何利用Swoole的协程高效处理相关统计等,带你处理API场景下的多种业务。
第8章 利用EasySwoole和ElasticSearch打造高性能的小视频搜索服务
本章介绍高性能分布式 elasticsearch、技术选型、 jdk获取和安装、es单机安装和分布式安装 、easyswoole集成elasticearch等,带大家实战easyswoole层和elasticsearch层优化搜索服务。
第9章 性能调优 - 让系统轻轻松松应对高并发
本章进行性能调优,带你深入掌握高并发技术,轻松处理高并发业务。
精彩文章来源微信公众号 java微技术
更多推荐
EasySwoole ElasticSearch打造高性能小视频服务系统
发布评论