精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring Boot 輕量級直播平臺全線實戰:系統設計、限流、監控與安全

開發 前端
通過整合 Spring Boot + SRS + WebSocket + FFmpeg + MinIO 技術棧,我們打造了一套可量產化、可編排、可觀測、可監控、可評價的直播平臺。通過日志、指標、AOP限流和內容安全功能,確保了系統的穩定性和可靠性,適合用于級聯相對較高的直播場景開發。

系統模塊概述

本文實現了一套基于 Spring Boot + WebSocket + Redis + SRS + MinIO 的開源直播系統,支持:

  • 直播間創建/觀看/點贊統計
  • SRS 接入,實現 RTMP/HLS/FLV 播放流
  • WebSocket 實時聊天和評論通信
  • FFmpeg 實現播放回放錄制
  • MinIO 上傳視頻回放文件
  • Prometheus/Grafana 監控指標
  • 基于 AOP + Redis 實現限流
  • 播放/推流鑒權 + 內容安全過濾

限流設計 (AOP + RedisToken Bucket)

@RateLimit 注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RateLimit {
    String key();
    int capacity() default 10;
    int period() default 60;
}

限流切面 RateLimitAspect

@Aspect
@Component
public class RateLimitAspect {
    private final RedisRateLimiter rateLimiter;


    @Autowired
    public RateLimitAspect(RedisRateLimiter rateLimiter) {
        this.rateLimiter = rateLimiter;
    }


    @Around("@annotation(rateLimit)")
    public Object rateLimit(ProceedingJoinPoint joinPoint, RateLimit rateLimit) throws Throwable {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String ip = getClientIp(request);
        String key = "rate_limit:" + rateLimit.key() + ":" + ip;
        boolean allowed = rateLimiter.tryAcquire(key, rateLimit.capacity(), rateLimit.period(), 1);
        if (allowed) return joinPoint.proceed();
        else throw new TooManyRequestsException("請求過于頻繁");
    }


    private String getClientIp(HttpServletRequest request) {
        String ip = request.getHeader("X-Forwarded-For");
        // ... 解析各種轉發地址定位
        return ip;
    }
}

操作控制器中使用

@PostMapping("/room")
@RateLimit(key = "create_room", capacity = 5, period = 3600)
public ResponseEntity<LiveRoom> createLiveRoom(...) {...}


@PostMapping("/room/{roomId}/view")
@RateLimit(key = "view_increment", capacity = 1, period = 5)
public ResponseEntity<Void> incrementViewCount(...) {...}

監控指標 + Prometheus + Grafana

公共配置

@Configuration
public class MonitoringConfig {
    @Bean
    MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
        return registry -> registry.config().commonTags("application", "live-streaming-service");
    }
}

自定義指標

@Service
public class LiveStreamMonitoringService {
    private final Counter liveStartCounter;
    private final Counter liveEndCounter;
    private final Gauge activeStreamGauge;
    private final Timer streamProcessingTimer;


    @Autowired
    public LiveStreamMonitoringService(MeterRegistry registry) {
        liveStartCounter = Counter.builder("live.stream.start").register(registry);
        liveEndCounter = Counter.builder("live.stream.end").register(registry);
        activeStreamGauge = Gauge.builder("live.stream.active", this::getActiveStreamCount).register(registry);
        streamProcessingTimer = Timer.builder("live.stream.processing").register(registry);
    }


    private long getActiveStreamCount() {
        return redisTemplate.opsForSet().size("live:active_rooms");
    }


    public void recordLiveStart() { liveStartCounter.increment(); }
    public void recordLiveEnd() { liveEndCounter.increment(); }
    public <T> T recordProcessingTime(Supplier<T> supplier) {
        return streamProcessingTimer.record(supplier);
    }
    public void recordError(String type) {
        meterRegistry.counter("live.stream.errors", "type", type).increment();
    }
}

安全性設計

推流鑒權

public class StreamSecurityService {
    public boolean isIpAllowed(String ip) { return ipWhitelist.contains(ip) || ... }
    public String generateSecureStreamUrl(String baseUrl, String streamKey, long expireSeconds) {...}
}

播放鑒權

public class PlayAuthService {
    public String generateAuthPlayUrl(String baseUrl, String streamKey, Long userId) {...}
    public boolean validatePlayUrl(...) {...}
}

內容安全

public class ContentSecurityService {
    @PostConstruct
    public void init() { // 加載敏感詞庫 }


    public String filterContent(String content) {...}
    public boolean containsSensitiveWords(String content) {...}
}

WebSocket 消息處理中應用:

@MessageMapping("/chat/{roomId}")
public void sendMessage(...) {
    message.setContent(contentSecurityService.filterContent(message.getContent()));
    if (message.getContent().matches("\\*+")) return;
    messagingTemplate.convertAndSend("/topic/chat/" + roomId, message);
}

實操演示

環境需求

  • Java 21+
  • Redis
  • MySQL
  • OBS Studio
  • Docker 安裝 SRS
  • FFmpeg 與 MinIO

啟動 SRS

docker pull ossrs/srs:4
docker run --name srs -d --restart=always \
  -p 1935:1935 -p 1985:1985 -p 8080:8080 \
  -v $(pwd)/conf:/usr/local/srs/conf \
  ossrs/srs:4 objs/srs -c conf/srs.conf

演示流程

創建直播間

curl -X POST http://localhost:8080/api/live/room -H "Content-Type: application/json" -d '{"title":"測試","userId":1}'

OBS 推流

服務器: rtmp://localhost:1935/live/streamKey?auth_key=...&expire=...

播放測試

http://localhost:8080/play.html?roomId=1

回放錄制

curl -X POST http://localhost:8080/api/live/room/1/record/start
# 稍后
curl -X POST http://localhost:8080/api/live/record/1/stop
curl http://localhost:8080/api/live/room/1/recordings

結束直播 OBS 結束推流,或 API 手動更新狀態

總結

通過整合 Spring Boot + SRS + WebSocket + FFmpeg + MinIO 技術棧,我們打造了一套可量產化、可編排、可觀測、可監控、可評價的直播平臺。通過日志、指標、AOP限流和內容安全功能,確保了系統的穩定性和可靠性,適合用于級聯相對較高的直播場景開發。

責任編輯:武曉燕 來源: 路條編程
相關推薦

2025-07-28 01:00:00

2025-08-26 07:47:17

SpringAPI防火墻

2023-09-27 00:12:23

2020-12-01 08:32:12

Spring Boot

2009-09-11 08:26:49

Linux系統CRUX 2.6Linux

2025-07-28 01:12:00

2010-07-07 09:30:41

WebMatrixWeb開發

2014-06-11 20:46:51

Monitorix監控系統

2025-01-15 08:56:53

2025-08-01 08:47:45

2015-04-29 07:40:59

醫療安全監控WattsUpDoc

2019-01-16 10:19:51

Google 開發技術

2025-11-11 07:20:00

SpringBoot架構監控埋點

2025-07-28 04:00:00

Spring框架應用程序

2023-02-03 15:21:52

2009-07-17 14:38:51

輕量級Swing組件

2009-07-14 18:05:28

輕量級Swing組件

2015-01-19 14:14:59

dockercoreosvagrant

2011-11-30 16:08:14

YC新銳Stypi

2025-04-03 07:56:08

電子簽名合同系統Spring
點贊
收藏

51CTO技術棧公眾號

b站大片免费直播| 水蜜桃色314在线观看| 一二三四区视频| 在线电影一区二区| 亚洲成**性毛茸茸| www黄色在线| 成人黄色网址| 91蜜桃免费观看视频| 国产日韩专区在线| 五月天婷婷网站| 成人羞羞网站入口免费| 日韩欧美三级在线| caoporn超碰97| 污污网站在线观看| 国产日产欧美一区二区三区| 99精品99久久久久久宅男| 日韩色图在线观看| 欧美日韩三区| 中文字幕国产亚洲2019| 三级男人添奶爽爽爽视频| 亚洲a∨精品一区二区三区导航| 亚洲美女精品一区| 婷婷久久青草热一区二区| 俄罗斯嫩小性bbwbbw| 日韩高清电影一区| 久久久综合av| 中文字幕av免费在线观看| 精品国产91| 亚洲精品福利视频| 中文字幕avav| 自拍偷拍亚洲| 欧美色综合影院| 俄罗斯av网站| 金瓶狂野欧美性猛交xxxx | 成人免费视频网站| 国产一区二区波多野结衣| 久久精品盗摄| 奇米影视亚洲狠狠色| 国产在线综合网| 欧美freesex交免费视频| 日韩网站在线观看| 极品人妻videosss人妻| 蜜臀av免费一区二区三区| 亚洲第一区中文99精品| 又色又爽又黄18网站| 2019中文亚洲字幕| 欧美丰满美乳xxx高潮www| 亚洲一级片免费| av亚洲一区| 91黄色激情网站| 无码日韩人妻精品久久蜜桃| 日韩电影网站| 在线亚洲免费视频| 国产野外作爱视频播放| 日日av拍夜夜添久久免费| 色综合天天狠狠| 精品少妇无遮挡毛片| 播放一区二区| 欧美日韩精品高清| 不卡的在线视频| 精品中文在线| 亚洲精品一区二区三区蜜桃下载| 成人区人妻精品一区二| 欧洲精品一区| 亚洲天堂日韩电影| 手机毛片在线观看| 999久久久91| 久久成人18免费网站| 黄色在线观看免费| 亚洲精品影视| 日韩美女福利视频| 国产精品毛片一区视频播| 国产麻豆视频一区二区| 国产精品视频免费一区| 午夜视频1000| 中文字幕av一区二区三区高| 久久久一二三四| 人妖欧美1区| 欧美日韩一区二区免费在线观看| 国产又黄又猛视频| 国产极品一区| 精品久久99ma| 亚洲精品国产一区黑色丝袜 | 91色乱码一区二区三区| 日本精品免费| 韩国中文字幕在线| 午夜视频一区在线观看| 日本新janpanese乱熟| av国产精品| 日韩av在线一区二区| 国产传媒视频在线| 欧美午夜电影在线观看 | 伊人久久国产精品| 国产成人综合自拍| 日韩高清国产精品| 丝袜综合欧美| 在线一区二区视频| 91精品国产高清91久久久久久| 神马午夜久久| 久久久国产精品视频| 国产情侣自拍av| 激情图区综合网| 免费观看成人高| 岛国中文字幕在线| 日本高清无吗v一区| 岛国大片在线免费观看| 国内精品视频在线观看 | 日本精品不卡| 欧美va在线播放| 你懂得视频在线观看| 亚洲美女少妇无套啪啪呻吟| 国产一区二区丝袜高跟鞋图片| 天堂网在线观看视频| 亚洲视频一区二区在线| 日韩 欧美 高清| 4438全国亚洲精品观看视频| 中文字幕在线精品| 在线观看 亚洲| 成人ar影院免费观看视频| av电影一区二区三区| 亚洲成av在线| 日韩久久精品电影| 久久久一二三区| 精品一区二区三区视频| 日韩高清专区| 中国字幕a在线看韩国电影| 欧美xingq一区二区| 日韩欧美国产成人精品免费| 日韩二区三区四区| 欧美日韩最好看的视频| 蜜桃视频动漫在线播放| 精品国产乱码久久久久久牛牛| 国产无遮挡在线观看| 免费看的黄色欧美网站| 精品一区久久久| 激情国产在线| 亚洲国产日韩精品在线| www.99re7.com| 国产成人精品免费| 欧美视频在线第一页| 久久丁香四色| 欧美精品在线看| a毛片在线免费观看| 亚洲精选在线视频| 999久久久精品视频| 91精品国产自产在线观看永久∴| 国产日韩欧美中文在线播放| 日本www在线观看| 在线不卡中文字幕播放| 青花影视在线观看免费高清| 久久99精品国产.久久久久| 中文字幕在线亚洲精品| 91精品国产一区二区在线观看| 久久天堂电影网| www.国产三级| 亚洲一区二区三区四区五区中文 | 日韩av系列| 国产91精品黑色丝袜高跟鞋| 青春草在线观看| 日本高清无吗v一区| 国产小视频你懂的| 国产美女精品一区二区三区| 男人的天堂视频在线| 91久久精品无嫩草影院| 97精品一区二区三区| 欧美孕妇性xxxⅹ精品hd| 日本高清不卡视频| 婷婷社区五月天| 国产成人午夜视频| 免费无遮挡无码永久视频| 黑人操亚洲人| 亚洲wwwav| 中老年在线免费视频| 中日韩美女免费视频网站在线观看| 91 中文字幕| 亚洲影院免费观看| 自拍偷拍中文字幕| 久久精品国产**网站演员| 国风产精品一区二区| 欧洲精品一区| 成人网在线观看| 678在线观看视频| 亚洲最新av网址| 国产ts人妖调教重口男| 亚洲va欧美va天堂v国产综合| 国产熟妇久久777777| 国内精品自线一区二区三区视频| 丁香六月激情婷婷| 欧美色婷婷久久99精品红桃| 99久久精品无码一区二区毛片| 午夜影院在线播放| 久久亚洲综合国产精品99麻豆精品福利 | 亚洲网站视频| 日韩电影大全在线观看| 视频亚洲一区二区| 热门国产精品亚洲第一区在线| 免费超碰在线| 亚洲奶大毛多的老太婆| 国产美女三级无套内谢| 欧美性xxxx| 激情小说中文字幕| 日本一区二区在线不卡| caopor在线| 久久精品国产99国产| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲色图网站| 涩涩日韩在线| 欧美日韩破处| av激情久久| 色诱色偷偷久久综合| 8050国产精品久久久久久| 成人av黄色| 亚洲网站在线看| 无码精品人妻一区二区三区影院| 91精品国产麻豆国产自产在线 | 欧美mv日韩mv国产网站app| 免费视频网站在线观看入口| 亚洲va天堂va国产va久| 真实国产乱子伦对白在线| 中文字幕免费在线观看视频一区| 性欧美丰满熟妇xxxx性久久久| 韩国理伦片一区二区三区在线播放| 国产免费视频传媒| 久久国产精品毛片| 精品无码一区二区三区在线| 欧美视频一区| 国产精品一二三在线观看| 热久久天天拍国产| 青青影院一区二区三区四区| 日韩大片在线免费观看| 国产女主播一区二区| 麻豆国产一区| 亚洲va欧美va国产综合久久| 欧洲亚洲精品久久久久| 国产精品美女999| 日韩一区二区三区在线免费观看 | 正在播放亚洲1区| 邻居大乳一区二区三区| 亚洲美女av黄| 邻家有女韩剧在线观看国语| 亚洲精品视频播放| 欧美一区二区少妇| 亚洲一区www| 国产福利免费在线观看| 亚洲人成电影在线| 韩国福利在线| 在线日韩日本国产亚洲| eeuss影院在线观看| 中文字幕欧美在线| p色视频免费在线观看| 亚洲一二在线观看| 成人三级黄色免费网站| 在线亚洲午夜片av大片| 在线日本视频| 久久久av一区| 色呦呦在线看| 77777少妇光屁股久久一区| 色在线免费观看| 国产高清视频一区三区| 欧美男女视频| 91蜜桃网站免费观看| theporn国产在线精品| 狠狠久久综合婷婷不卡| 亚洲区小说区图片区qvod| 日韩高清国产精品| 亚洲精品在线观看91| 久久福利一区二区| 99视频在线精品国自产拍免费观看| 免费看一级大黄情大片| 久久久国产精品一区二区中文| 亚洲福利精品视频| 国内精品写真在线观看| 91精品又粗又猛又爽| 91麻豆免费在线观看| 极品蜜桃臀肥臀-x88av| 亚洲天堂免费看| 国产无遮挡aaa片爽爽| 色婷婷激情久久| 国产乱人乱偷精品视频a人人澡| 欧美videos中文字幕| 精品无吗乱吗av国产爱色| www高清在线视频日韩欧美| 欧美性受ⅹ╳╳╳黑人a性爽| …久久精品99久久香蕉国产| 九七电影院97理论片久久tvb| 成人羞羞视频免费| 国产一区三区在线播放| 超碰人人爱人人| 久久精品观看| 成人免费看片载| 日本一区二区三区免费乱视频| 中文字幕手机在线观看| 欧美色播在线播放| 国产精品无码久久久久成人app| 亚洲国产精彩中文乱码av| av基地在线| 亚洲91精品在线| 成人亚洲精品| 欧美一区二区三区四区在线观看地址| 91tv官网精品成人亚洲| 虎白女粉嫩尤物福利视频| 国产精品一二三四五| 无码一区二区三区在线| 亚洲一区二区三区激情| 亚洲一区二区色| 精品视频在线观看日韩| 中文字幕免费高清电视剧网站在线观看| 欧美中文字幕在线播放| 伊色综合久久之综合久久| 亚洲福利av在线| 亚洲欧美日韩一区在线观看| 国产探花一区二区三区| 中文子幕无线码一区tr| 青青草免费观看视频| 精品88久久久久88久久久| 伦xxxx在线| 国产精品久久久久久久午夜| 欧美性生活一级片| 日韩人妻一区二区三区蜜桃视频| 男人的天堂久久精品| v8888av| 亚洲va国产天堂va久久en| 性欧美一区二区三区| 久久久精品日本| 人人精品久久| 亚洲精品成人久久久998| 久久欧美肥婆一二区| 少妇激情一区二区三区视频| 亚洲自拍偷拍欧美| 国产视频手机在线| 精品国产一区久久久| 玖玖精品在线| 亚洲午夜精品久久| 日韩av一区二区三区四区| 巨胸大乳www视频免费观看| 精品福利在线看| 瑟瑟在线观看| 日本精品久久久久影院| 奇米777国产一区国产二区| 欧美视频免费看欧美视频| 成人黄色777网| 韩国av免费观看| 亚洲国产欧美自拍| 樱花草涩涩www在线播放| 麻豆久久久av免费| 免费在线成人| 天堂在线中文视频| 欧美日韩视频专区在线播放| 日本中文字幕伦在线观看| 国产专区精品视频| 欧美久久一区| 亚洲中文字幕无码一区| 天天综合网 天天综合色| 性感美女视频一二三| 欧美性视频精品| 国产在视频线精品视频www666| 日本爱爱免费视频| 国产精品灌醉下药二区| 国产视频在线观看免费| 欧美激情精品久久久久久蜜臀 | 日韩激情片免费| 成人影院av| 亚洲一区二区三区精品在线观看| 久久国产精品色婷婷| 欧美精品久久久久性色| 亚洲国产日韩欧美在线99| 性欧美1819sex性高清| 亚洲视频小说| 国产二区国产一区在线观看| 黄色激情视频在线观看| 亚洲人成在线观| 国产高清视频一区二区| 久操网在线观看| 国产日韩欧美激情| 99视频国产精品免费观看a| 国内精品伊人久久| 最近国产精品视频| 亚洲第一天堂久久| 午夜精品免费在线| av在线电影免费观看| 91黄在线观看| 毛片一区二区| 国产盗摄一区二区三区在线| 亚洲黄色av女优在线观看| 欧美精品资源| 国产成人永久免费视频| 久久久久久99精品| 99久久夜色精品国产亚洲| 2018日韩中文字幕| 日韩一区欧美| 青青草视频播放| 在线电影国产精品| 中文字幕乱码中文乱码51精品| 99re99热| 国产亚洲美州欧州综合国| 亚洲精品字幕在线| 国产精品亚洲激情| 国产欧美日韩综合一区在线播放 | 欧亚洲嫩模精品一区三区| 日韩激情av|