短视频平台源码,利用mq限制入库并发数

短视频平台源码,利用mq限制入库并发数

  1. 利用mq做限流, 合理的入库时间
  2. 减轻数据库的压力
  3. 保证项目的稳定性

【生产场景】

多个用户同时excel导入数据, 采用多线程保存数据, 对数据库压力过大,
把数据直接放到mq里

复制代码
/**
     * 监听核验身份队列
     *
     * @param tag
     * @param msg
     * @param channel
     * @throws IOException
     */
    @RabbitHandler
    @RabbitListener(queues = Constant.QueueName.CHECK_CARD_NO)
    public void receiverCardNo(@Header("amqp_deliveryTag") long tag, String msg, Channel channel) throws IOException {
        try {
            logger.info("核验身份队列:{},队列内容:{}", Constant.QueueName.CHECK_CARD_NO, msg);
            queueService.receiverCardNo(msg);
        } catch (Exception ex) {
            throw new CvsException(ResCode.FAIL_MQ_ERROR, ex);
        } finally {
            channel.basicAck(tag, false);
        }
    }
复制代码

 

手动配置为35,同时启动35个线程处理入库操作,大小根据cpu数配置就可以
@RabbitListener(queues = Constant.QueueName.CHECK_CARD_NO, concurrency = “35”)
默认分支, 因该是2
@RabbitListener(queues = Constant.QueueName.CHECK_CARD_NO)

以上就是短视频平台源码,利用mq限制入库并发数, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示