- 博客(13)
- 收藏
- 关注
原创 本地调试 elasticsearch7.17 环境搭建
类, 在 main 方法上点击运行, [modify options] 下面有个 Add VM options 选项, 然后往里面添加一些启动配置。idea 索引完代码之后, 这时候需要给 es 加一些 vm options 才能正常运行起来,可以先找到源代码目录下。拉取完代码之后,选择一个比较稳定的分支来看源代码比较好, 我这里选择的是 v7.17.15。下载下来之后,进行解压,解压到前面新建的 eshome 目录。在打开代码之前, 找到源代码目录下面的。选择编译代码 JDK 版本, 选择。
2023-12-07 16:33:40
679
原创 2022 工作总结
通过一年多来的的努力,和小伙伴们一起将两个原来问题特别多的系统优化的越来越好,这算是 2022 年最满意的工作成果,另外从学院的收入来说,也比之前好了很多,优化视频数据减少了很大一部分视频存储成本,整个 2022 年我也算是加入了降本提效的大队伍中,希望 2023年我们的团队越来越好,整个经济环境越来越好。
2023-01-17 16:06:28
334
1
原创 ffmpeg5 vscode 开发环境搭建
在编译 ffmpeg 以及相关依赖包的时候,可能会需要用到一些编译工具,这部分工具需要提前安装好, 在 mac 采用 clang 进行编译安装,会需要用到 c 的一些标准库文件,标准库文件首先需要通过安装 Command Line Development Tools 获得, 可以根据系统版本选择安装,我这里由于安装过 xcode ide, 直接通过下面的命令安装。安装完成之后,我就可以找到标准 c 库的位置, 比如我这里安装的是 12.1 版本, 因此标准库的位置如下。
2023-01-03 15:38:59
652
原创 为何 java 中 int 类型的取值范围是 [-2147483648, 2147483647]
但是最小值为啥不是 -2147483647 2147483647 的负数怎么计算了, 首先我们要知道计算负数的过程, cpu 只会做加法计算,我们要求负数, 按照人类的思维是 0 - 整数 = 负数, 但是 cpu 不是这么做的,我们想一下如果我们的时钟要回到 0 点 即 12 点,我们会怎么调整时钟,一种方法就是做减法,让时钟的指针往回拨,拨到 0 点就可以,这样做可以认为是做减法,另一种方法是让时钟继续往前拨,拨到 0 点,这样做就是做加法。, 换算成整数刚好是 7, 即 2^3 - 1。
2022-11-18 11:38:18
607
原创 从 Kafka 中提取一个执行命令的工具类
其实有的时候,不一定什么代码都要从零开始的,如果有看过的开源代码可以借鉴,拿过来直接改一改可以用是,最好最快的方法,因为好的开源代码往往都经过千锤百炼的,而且这样的代码 bug 也比较少。
2022-10-21 15:28:24
339
原创 csdn 客服2个小时体验
这次体验客服两个比较触动的地方就是,审核是一个非常重要和关键的流程,很多创造者其实是奔着营销,广告的目的来的,如果很多这种没有干货的,非技术类的文章发布出去对我们真正的用户来说是非常不好的,毕竟我们是一个为 IT 技术人员服务的平台, 文章的审核必需从严处理,要抓住文章质量而不是文章的量。站在研发的角度来说,给我第一感觉就是客服为啥这么忙,是我们的产品体验不好,还是产品存在问题了,但仔细去分析用户的问题,发现其实很大部分问题是体验和使用上的问题。因此研发在实现产品时也要去考虑用户的使用体验。
2022-09-28 18:21:40
181
原创 视频分布式上传方案详解
学院这边上传视频的大致步骤如下老师在教师管理后台上传视频教师管理后台再把视频上传到阿里云的点播平台审核人员去审核上传的视频资源将审核通过的视频进行转码处理将转码后生成的视频加密的播放地址绑定到课时当中学院通过加密的播放地址播放课程进行学习1. 由于历史原因,老的上传功能是 php 实现的、而现有的团队都是 java 程序员,这就导致出现问题无法进行维护2. 老师上传的文件会出现花屏、丢帧等一些质量问题, 导致学院学生观看视频的时候客诉率很高。
2022-09-09 17:10:02
2234
原创 代码增加多线程处理,增加熔断处理来提升响应性能
在线程池的时候,需要注意的点,核心线程数开的越多,它所要使用的 cpu, 内存资源也会越多,因此要根据线程任务的特点来合理的定义核心线程数,比如是 cpu 计算内存的多线程任务,那么线程池的核心线程数最好不要超过 cpu 的核数,那么如果是 io 类型的任务,最好根据业务的吞吐量来定制线程池叔谬。有些同学在使用多线程的时候,会遇到内存泄漏等一些问题,或者线程本地变量传值等一些问题,其实只要对线程的实现原理有足够的了解,这些问题在你实现代码的时候,会本能的杜绝,从而不会出现一些些奇奇怪怪的问题,
2022-08-21 16:40:51
214
原创 优化 cache 的使用
如果 cache 变化不频繁, 而且获取一次数据量大,可以通过 配置服务 + 本地缓存取代, 本地缓存的性能优于 redis cache的。
2022-08-09 10:56:56
388
原创 优化 es 组件配置和索引配置提升性能
注: 前面提到改分片数等一些配置,可能涉及到迁移索引,这个可以结合数据格式统一优化中,建新索引时一块做了,最好提前预估大概的数据量,选择恰当的分片数,以节约资源。通过简单的一些 es 的配置优化,即提高了消费的性能,同时也提高读的性能, 这个收益非常大的,它需要改的代码也比较小,对于这个暂时还不熟悉代码的遗留系统来说,这是性价比最高的优化方式。...
2022-08-05 17:13:40
1273
原创 统一数据格式也是性能优化手段之一
下面忽略了很多细节以及一些在这边博文中,不需要考虑的过程,可以认为是一个极简版的审核系统业务方会把要审核的数据发送到消息队列中,审核系统从mq消费队列中消费消息,【这里不考虑遗留系统给业务方提供的接口发过来的数据,在接手这个项目之前,这个使用接口接收数据的方式已经淘汰了】消费消息的过程即是数据进审的过程,这里忽略了细节,统一任务数据进审成功,然后存入es【这里遗留系统还有一部分业务数据是由mongo来存取的,这里为了方便说明,只考虑一个服务组件的情况】httpshttpshttps。...
2022-08-01 09:32:47
423
原创 优化产品交互逻辑来提升产品性能
每个条目的查询条件不一样,对应的索引也不尽相同,每个条目都要知道这个四个数目,打个比方有20个条目,那么就需要20*4次的io查询,最主要的是后端的代码还没有做异步处理,项目初期可能还好,因为数据量少,平均一个查询20ms都不到,基本很快就能出来结果,随着数据量越来越多,我来到项目组的时候,最慢的面板加载时间是18s,审核人员天天叫苦不迭,说这个入口太慢了,能不能给整整。审核系统是给审核人员用的,它的核心能力就是审核内容,能够越快速的审核内容,意味着能越快的发布内容。...
2022-07-29 10:04:56
199
原创 优化 es 中 should 加 matchPhraseQuery 查询性能
通过分词效果很容易看出来,text类型,会根据自定义的analyzer进行分词处理,建立索引的作者的初衷是考虑到我们这个用户名称需要支持模糊查询,同时也支持准确查询。这里可能有的小伙伴不理解为啥,不直接建个索引,然后reindex下就行,搞这么麻烦,首先这里有前提条件,一个索引数据量很大,上亿,但真正要重建索引的数据很少,另外一点就是这个索引在实时用的,迁移的过程当中很难保证重建之后的索引数据状态,需要做许多额外的工作,可能比这个过程更加复杂,更加漫长。确认没问题之后,就可以重建下索引了。.........
2022-07-27 18:35:19
2020
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人