工作经历
2021-07-01 -2022-10-08杭州东信北邮公司Java开发
公司规模500-2000人左右,我的部门主要从事音视频业务,目前完成了云视讯,内容管理平台,同步课堂等项目。
教育经历
2017-09-01 - 2021-06-30东北石油大学软件工程本科
技能
项目描述:该项目主要提供文件的分布式存储,视频转码、截图、加水印、画中画等视频处理相关能 力,除了有管理网站之外还提供 API 供第三方调用。项目架构采用 Spring cloud Alibaba,文件分布式 存储采用 HDFS,视频处理能力采用 FFmpeg。 工作亮点:利用 FFmpeg 提供了一套视频录制、转换以及流化音视频的完整解决方案,在开发中对 FFmpeg 进行了高度封装,实现了 FFmpeg 进程监控,命令封装,任务统一处理等,解决了 FFmpeg 命 令生涩难懂、项目外进程不可监控问题。
项目描述:该项目主要实现在线视频会议功能,包括门户网站、会议中心、*小程序、公众号,用 户可以通过软终端或者硬终端入会,实现多画面、会场静音、会议录制、屏幕共享,小程序扫码会控 等会控操作。项目上线之后会议数量月均 4 万+,参会人数月均 42 万,会议时长月均 19 万小时,对 接第三方厂家 39 家。 云视讯 3.0 架构升级之后采用 Spring Cloud Alibaba 架构代替 Spring Cloud 架构。 工作亮点:改造流控组件 Sentinel 源码实现规则持久化,Sentinel 是面向分布式服务架构的高可用流 量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个 维度来帮助开发者保障微服务的稳定性。但是 Sentinel 规则不能持久化,一旦服务重启,之前配置的 规则都将消失,需要重新配置,基于这个问题改造 Sentinel 源码,基于 Push 模式,即 Sentinel-Dashboard 统一管理配置,将规则统一推送到 Nacos 并将 Sentinel 规则持久化到 Nacos 生成配置文件,生成 Rule 实现持久化。最后客户端监听 Nacos,当规则发生变动时拉去最新规则配置,在持久化 Sentinel 规则 基础上,配合微服务架构改造实现 Sentinel 集群化,将 Sentinel 内置到各个微服务模块中,动态设置 集群的服务端和客户端,在此之外又为 Sentinel 添加了流控预警功能,在流量达到一定值时,发送预 警短信或者邮件。 自研动态定时任务组件,之前项目中使用的定时任务组件为 Quartz,当会议数量并发值很大时会 偶现修改定时任务失败情况,基于这个问题通过 Redis 同步锁、Redis 广播机制、Mysql、Spring boot ScheduledFuture 实现了集群化的动态定时任务。 在微服务中通过 SpringAop 和 Mybatis 拦截器 Interceptor 将一条请求的完整日志和对应的服务之 间互相调用结果以及数据库 SQL 语句及响应结果关联起来,做到根据唯一的请求标识分析出该条请求 所有涉及到的操作,增加了问题排查效率,方便了线上运维和故障处理。