资料
  • 资料
  • 专题
[完结16章]SpringCloudAlibaba高并发仿斗鱼直播平台实战
推荐星级:
类别: 软件/EDA/IP
时间:2023-11-09
大小:2.2KB
阅读数:218
上传用户:学习菜鸟小弟弟
查看他发布的资源
下载次数
8
所需E币
0
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
直播领域发展迅速,人才需求量极大,但能完整驾驭高并发场景下直播场景的人才还不多。 本课程通过六个高并发场景-用户中台服务,IM即时通讯,礼物打赏、直播PK、红包雨、直播带货秒杀,带你从0到1,循序渐进实战落地,让你对直播业务场景有更透彻的理解,对直播技术栈有更全面的掌握,对高并发解决方案有更强的设计与实战能力。课程旨在助力你提升在直播领域的职业竞争力。

六大高并发场景驱动教学,轻松玩转直播业务,从容面对三高难题

1、从0到1完整搞定六大高并发场景
掌握用户中台系统架构设计与开发
掌握高并发场景下的IM架构体系
掌握礼物、钱包系统全链路代码实现
掌握红包雨、直播PK、直播带货技术实现

2、掌握整套通用分布式解决方案
掌握分布式ID在业务中的生成和优化
掌握缓存数据一致性解决方案
掌握亿级数据存储方案落地
掌握高性能IM系统从0到1落地方案

3、全面提升高并发主流技术综合实战能力
实战学习MySQL数据库分库分表、读写分离
掌握分布式缓存、网关组件、配置中心技术
深入理解Docker容器技术原理和使用技巧
掌握SpringCloud Alibaba等技术栈原理及应用

设计异常的接口定义
Java
public interface QiyuBaseError {

    int getErrorCode();
    String getErrorMsg();
}
将常用的异常类型实现给定义出来
Java
package org.qiyu.live.web.starter.error;

/**
 * @Author idea
 * @Date: Created in 11:25 2023/8/2
 * @Description
 */
public enum BizBaseErrorEnum implements QiyuBaseError{

    PARAM_ERROR(100001,"参数异常"),
    TOKEN_ERROR(100002,"用户token异常");

    private int errorCode;
    private String errorMsg;

    BizBaseErrorEnum(int errorCode, String errorMsg) {
        this.errorCode = errorCode;
        this.errorMsg = errorMsg;
    }

    @Override
    public int getErrorCode() {
        return 0;
    }

    @Override
    public String getErrorMsg() {
        return null;
    }
}

带你创建直播业务的数据库模块搭建
创建我们的数据库:
TypeScript
CREATE DATABASE qiyu_live_user CHARACTER  set utf8mb3 COLLATE=utf8_bin;
创建一百张分表的脚本:
TypeScript

DELIMITER $$  
  
CREATE  
    PROCEDURE qiyu_live_user.create_t_user_100()  
    BEGIN  
  
         DECLARE i INT;  
         DECLARE table_name VARCHAR(30);   
         DECLARE table_pre VARCHAR(30);   
         DECLARE sql_text VARCHAR(3000); 
         DECLARE table_body VARCHAR(2000);    
         SET i=0;  
         SET table_name='';  
                
         SET sql_text='';  
         SET table_body = '(
  user_id bigint NOT NULL DEFAULT -1 COMMENT \'用户id\',
  nick_name varchar(35)  DEFAULT NULL COMMENT \'昵称\',
  avatar varchar(255)  DEFAULT NULL COMMENT \'头像\',
  true_name varchar(20)  DEFAULT NULL COMMENT \'真实姓名\',
  sex tinyint(1) DEFAULT NULL COMMENT \'性别 0男,1女\',
  born_date datetime DEFAULT NULL COMMENT \'出生时间\',
  work_city int(9) DEFAULT NULL COMMENT \'工作地\',
  born_city int(9) DEFAULT NULL COMMENT \'出生地\',
  create_time datetime DEFAULT CURRENT_TIMESTAMP,
  update_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (user_id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin;';

            WHILE i<100 DO   
                IF i<10 THEN
                    SET table_name = CONCAT('t_user_0',i);
                ELSE
                    SET table_name = CONCAT('t_user_',i);
                END IF;
                        
                SET sql_text=CONCAT('CREATE TABLE ',table_name, table_body);    
            SELECT sql_text;   
            SET @sql_text=sql_text;  
            PREPARE stmt FROM @sql_text;  
            EXECUTE stmt;  
            DEALLOCATE PREPARE stmt;    
            SET i=i+1;  
        END WHILE;  

              
    END$$  
            
DELIMITER ;

版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
相关评论 (下载后评价送E币 我要评论)
  • zed 2023-11-11
    要密码
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书