• 小视频去重项目思考


    小视频去重项目思考

    接手公司小视频去重业务已有大半年,从流程设计、硬件调度、业务功能实现、测试与迭代,其中给我的成长很多,思考了一些东西,理解了一些产品开发的规约与思路。

    小视频去重,业务层面包括小视频的本地下载、去重逻辑实现与重复视频拉黑。其中小视频下载需具体业务部门调度,需要提供满足负载均衡的接口,以实现多机器的充分利用和正常的接口返回时间;去重逻辑较复杂,耗时较长,需参考观察者模式,构建异步、负载均衡处理集群;重复视频拉黑需要定时作业调度,并给以运营部分每日处理结果反馈。基于上述内容,微服务构建可满足合理的代码多模块构建需求,hbase保存视频特征、mysql统计结果信息、redis处理异步请求的多重数据存储方案可解决整体数据的管理与分析。

    子模块分类:

    1. eureka-server - 注册中心,有效监控和管理多模块运行状况
    2. video-ribbon - 对外负载均衡接口发布组件,完成处理视频url入库redis接口的对外暴露
    3. video-download - 根据视频url下载,并包装网络路径url、共享盘路径path到redis处理队列
    4. video-retrieval - 小视频去重模块,包含查询和入库hbase、单调视频校验、处理结果入库mysql等逻辑
    5. video-schedule - 定时作业调度模块,处理每日定时去重结果分析与调用外部接口完成反馈

       为什么要使用redis构建服务间的消息机制:

        因为消息使用的是观察者模式,观察者模式的好处是可以实现多个消费事务与触发事务的解耦

  • 相关阅读:
    Kafka写入流程和副本策略
    Kafka消费分组和分区分配策略
    Kafka安装和常用操作命令
    面试:谈谈你对大数据的理解
    HDFS写数据和读数据流程
    java笔记之分支、循环语句
    java笔记之分支、循环语句
    java笔记之运算符
    java笔记之运算符
    java笔记之java内存结构
  • 原文地址:https://www.cnblogs.com/nyatom/p/11015536.html
Copyright © 2020-2023  润新知