最近收到一个需求,需要把视频集成为一个服务,视频播放时根据登录的用户名动态生成水印覆盖在视频上;
这些视频隔段时间会来一波,需要集成进去;

最初的解决方案:把视频当作静态资源放在Java SpringBoot微服务的静态文件里,每个视频对应一个播放的H5页面;

弊端:
(1)视频越来越多(近10G),调试慢,且打包后jar太大;
(2)每增加一个视频就需要写一个页面(页面跳转、页面);太麻烦;

优化:
使用Nginx搭建视频+SpringBoot微服务+动态获取视频信息

下边重点说下:动态获取视频信息
(1)增加的视频文件信息(视频主题,视频名称,视频源src,培训时间【展示列表也可根据其排序】)都插入到Pg表里;
(2)页面视频主题页(通过读取pg表动态生成)
(3)页面某个主题的视频信息列表(通过Pg表动态获取生成)
(4)页面视频播放页(通过读取pg表动态填充——src信息等生成)
(5)视频信息管理页(通过pg表获取数据并构建 easy-ui树显示,简单明了)

–Postgre 视频信息表sql

drop table if exists t_videos;
CREATE TABLE t_videos
(
id bigserial NOT NULL PRIMARY KEY,
name text NOT NULL DEFAULT ‘’,
title text NOT NULL DEFAULT ‘’,
src text NOT NULL DEFAULT ‘’,
v_time text NOT NULL DEFAULT ‘’,
create_time timestamp with time zone NOT NULL DEFAULT now(),
modify_time timestamp with time zone
);
COMMENT ON TABLE t_videos IS ‘视频信息表’;
COMMENT ON COLUMN t_videos.id IS ‘主键id’;
COMMENT ON COLUMN t_videos.name IS ‘视频标题’;
COMMENT ON COLUMN t_videos.title IS ‘视频主题’;
COMMENT ON COLUMN t_videos.src IS ‘视频源’;
COMMENT ON COLUMN t_videos.v_time IS ‘视频时间’;
COMMENT ON COLUMN t_videos.create_time IS ‘创建时间’;
COMMENT ON COLUMN t_videos.modify_time IS ‘修改时间’;

优化完成后:
整个服务需要4个页面就都搞定了。
下次在来新的视频只需要上传视频到服务器,视频信息插入到pg表中,就不需要其他任何操作了。

视频主题列表页:
某个主题视频列表页:
视频播放页:
视频管理页:

Linux(Nginx)+Java SpringBoot视频微服务搭建相关推荐

  1. 巧用springboot微服务搭建一个网站

    想到微服务搭建博客其实挺多的,那就用微服务简单做个记账的网站,并部署在站点 1. 首先除了要了解什么是微服务之外,因为是用Springboot框架,还要了解一下父子项目,thymeleaf,sprin ...

  2. 秒杀springboot——未来轻量级高性能的Java云原生微服务框架来啦

    秒杀springboot--未来轻量级高性能的Java云原生微服务框架来啦 引子 自2003年Rod.Juergen 和 Yann开发并发布Spring项目后,J2EE 迎来了新的开始.在 2013 ...

  3. SpringCloudAlibaba系列微服务搭建笔记一_Nacos

    目录儿 二.SpringCloud技术栈 三.环境搭建 3.1 开发环境搭建 3.2 安装部署mysql 3.3 创建 SpringBoot 项目 3.3.1 简介 3.3.2 构建项目 3.3.3 ...

  4. spring的发展||springboot和微服务的介绍

    spring的发展 1,Spring1.x时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置 ...

  5. 2021/04/25 SpringBoot + SpringCloud微服务项⽬交付案例

    第1章 SpringBoot + SpringCloud微服务项⽬交付案例 1.1 微服务概念 传统的是用户通过终端链接到应用里 现在服务往越来越小的方向做,把每个服务做成一个独立的功能,每个服务完成 ...

  6. PaaS 以及全套服务微服务搭建流程

    这是一篇写的很早的文章,所以有个别内容没那么新,涵盖的内容非常的全,内容太多,可以用于参考. 主要流程分为: Rancher PaaS 平台 MySQL 安装.配置.数据导入 RabbitMQ 安装. ...

  7. SpringCloud微服务搭建(四 搭建EurekaServer集群)

    在上一章的基础上 在EurekasServer里面添加三个yml: bootstrap-server1.yml: server:port: 8794eureka:instance:hostname: ...

  8. java计算机毕业设计微服务”架构下新闻头条的设计与实现源码+系统+数据库+lw文档

    java计算机毕业设计微服务"架构下新闻头条的设计与实现源码+系统+数据库+lw文档 java计算机毕业设计微服务"架构下新闻头条的设计与实现源码+系统+数据库+lw文档 本源码技 ...

  9. 13 年 Java 老兵的微服务战地笔记 | 文末有1元福利

    * 文末有仅限 24 小时的 1 元福利,错过别怪我!!! 微服务在业内的实践已经从流行走向成熟,诸多公司(比如 Amazon.Netflix.蚂蚁金服.网易云音乐等)都已经迁移并采用了微服务架构.而 ...

最新文章

  1. Docker核心技术之数据管理
  2. Java-Frame
  3. python小波变换尺度函数_Python图像处理(17):pyWavelet
  4. SASS简介及使用方法
  5. C# 动态装载 DLL
  6. [细说Java](3)创建字符串是使用quot; quot;还是构造函数?
  7. Prefuse 4未完
  8. python---用python实现插入排序
  9. Android图片压缩
  10. 微信小程序阻止默认冒泡事件
  11. MATLAB的数据类型
  12. TFS 2010 使用手册(四)备份与恢复
  13. matlab写子函数,matlab主函数子函数怎么写
  14. 实验四 JavaScript的使用(学习打卡Day 2)
  15. 传奇开区发布广告和选择广告投放网站的那些事
  16. 跨品种套利 (期货)
  17. BZOJ4379 : [POI2015]Modernizacja autostrady
  18. 创新案例分享 | 医院DRG系统建设项目,助力精细化分析医疗数据
  19. linux中怎样结束进程,linux怎么样终止进程
  20. 开源项目推荐:使用Qt编写和开发的开源IDE

热门文章

  1. 快速搭建第一个Mybatis程序
  2. [C++] 牛客网:合并两个有序的数组
  3. RecyclerView 滑动显示返回按钮,点击返回到顶部
  4. Could not download lint-gradle.jar (com.android.tools.lint:lint-gradle:26.4.
  5. 线性布局上的一个小错误
  6. 图形数据库Neo4j基本了解
  7. spring boot 通过Maven + tomcat 自动化部署
  8. C++ 笔记(05)— 变量(变量定义、声明、初始化、extern关键字、变量之间转换)
  9. codefores 786B. Legacy(最短路,线段树优化拆点,好题)
  10. mac 端口转发方案