项目简介
闪灵 Sharine 是一款 Web 短视频平台应用,基于 SpringCloud + Consul 微服务架构,配合 Docker & Kubernetes 实现容器化集群管理。数据库则采用 MySQL + Redis 主缓一体化设计,通过缓存管理器配合 Spring Data 实现自动化缓存管理。本项目开发代码较为规范,可供学习参考。
近期正在重构,如需体验请选择 dev 分支
建议前往 docs 查看完整文档
Demo 视频地址:http://s3nb7l0x2.hn-bkt.clouddn.com/demo.mp4
线上体验
线路屏蔽海外,且测试服务器网络环境复杂,建议优先考虑本地部署进行体验 部分视频无法浏览属正常现象,测试数据中的链接来源于互联网,并不保证其链接有效性
http://ipv4.rinkore.com:15001 测试账号 [email protected] 测试密码 mikkoayaka 当然您也可以选择注册一个账号体验一下
自行部署
环境准备
本项目提供了测试用数据集,请访问 Github 仓库路径
Sharine/server/src/main/resources/Sharine.sql
进行下载
-
JDK 17 及以上(测试版本:Oracle JDK 17)
-
支持 JDBC 的 SQL 数据库环境(测试版本:MySQL 5.7.26)
-
Redis 数据库环境(测试版本:Redis for Windows 5.0.14)
-
Docker 相关环境(测试版本:Docker Desktop 4.21.1)
开始对接
后端部署
请修改后端相关配置文件,完成以下对接:
-
直接使用压缩软件打开微服务端 jar 包,前往 BOOT-INF/classes/ 路径下修改 bootstrap.yml 以及该路径下 config 文件夹中的线上环境配置,修改完毕后保存。
-
在微服务端 jar 包同目录下创建 config 文件夹,再自行创建 bootstrap.yml 配置文件 下面是 video-service 视频微服务端配置文件参考示例:
server:
port: 23401
spring:
application:
name: video-service
id: 1
profiles:
active: prod
config:
import: consul:localhost:8500/config
cloud:
consul:
config:
format: yaml
data-key: ${spring.application.name}-${spring.profiles.active}
discovery:
instance-id: ${spring.application.name}-${spring.application.id}
health-check-timeout: 1s
prefer-ip-address: true
创建完毕后,前往 Consul 管理页面,进入 K/V 存储中心,添加相应的配置:
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/sharine?serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root
password: root
hikari:
minimum-idle: 5
idle-timeout: 180000
maximum-pool-size: 10
auto-commit: true
pool-name: MyHikariCP
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
jpa:
show-sql: false
hibernate:
ddl-auto: update
data:
redis:
host: localhost
port: 6379
password: root
mail:
host: smtp.163.com
username: 用户名
password: 密码
default-encoding: UTF-8
port: 587
properties:
mail:
smtp:
auth: true
socketFactory:
class: javax.net.ssl.SSLSocketFactory
qiniu:
access-key: key
secret-key: key
bucket: sharine
domain-of-bucket: s336zn7wo.hn-bkt.clouddn.com
application:
subscribe-channel-size: 128
cache-view-video-size: 256
query-per-minute-limit: 1200
修改完毕配置文件以后,在服务端同目录下创建服务端启动脚本,可参考以下内容:
# start.bat
# 如果没有配置 Java 环境变量,请修改 Java 为 java.exe 的具体路径
Java -Xms8G -Xmx8G -jar