Sem descrição

reghao 21ee6ddf88 添加一个 UserService#contactContain 方法检测用户是否在 UserContact 中 há 9 meses atrás
account 2d85ef0756 update AccountAvatar há 9 meses atrás
common 4cb8f8ad53 @AuthUser 的 target 既可是 method, 也可是 type, 这二者应该互斥 há 10 meses atrás
content cf62c6c632 content-service/disk 添加 DiskShareController 网盘分享接口 há 9 meses atrás
data 721f7e3ea4 更新服务 pom.xml 中的依赖结构 há 10 meses atrás
eureka 488112dddc 删除 eureka-server 中的 dubbo 服务 EurekaServiceImpl.java há 10 meses atrás
file bfd7d71939 update content-service/disk há 9 meses atrás
gateway 6f9c1b2c9a update tnb há 10 meses atrás
log 9dd8b2120c log 模块没有任何功能, 仅用于测试包含项目依赖后生成的 jar 包文件大小 há 10 meses atrás
message e4627d0201 引入 cn.reghao.bnt.log 包中的 pojo 记录 gateway 日志和 app 日志, 同时将日志的消费端从 message-service 中删除, 移到 bnt 项目中 há 11 meses atrás
search bfd7d71939 update content-service/disk há 9 meses atrás
user 21ee6ddf88 添加一个 UserService#contactContain 方法检测用户是否在 UserContact 中 há 9 meses atrás
zzz 8cceb5bf25 update install_tnb.sh há 10 meses atrás
.gitignore afd0a98406 使用 tnb1 项目 master 分支的 2478e4c4 commit 作为起点 há 1 ano atrás
README.md e100d0b33e update README.md há 10 meses atrás
pom.xml 721f7e3ea4 更新服务 pom.xml 中的依赖结构 há 10 meses atrás

README.md

tnb

微服务实践, 本项目实现了一个类似 bilibili 的 VOD 系统后端

也包含 mall, exam, im, geo 等模块

前台应用包括 Web 应用和 Android 应用

分别由 tnbapp 项目和 tnbdroid 项目提供

依赖

  • os:Linux > Windows 系统理论上可以运行, 但尚未实践
  • jdk:11
  • maven:3.9
  • mysql:5.7
  • redis
  • rabbitmq
  • zookeeper:3.8.4
  • mongodb:4.4
  • elasticsearch:7.17.18 > 仅 search-service 依赖, 选用 lucene 则不再需要 elasticsearch
  • nacos-server:v2.4.1 > 仅 search-service 依赖

Spring 版本

模块

tnb 项目模块:

  • eureka:6060
  • gateway:6000
  • account:6001
  • user:6002
  • message:6003
  • file:6004
  • content:6005
  • data:6006
  • search:6007

构建部署

pull 项目源码

cd ~/Downloads
git clone https://git.reghao.cn/reghao/tnb.git

初始化 MySQL

cd ~/Downloads/tnb/zzz
bash db_init.sh

执行 db_init.sh 会自动创建 tnb 项目需要的数据库并初始化数据库表

需要自行指定 db_init.sh 脚本中的 host, username, password 等变量值

构建并运行

cd ~/Downloads/tnb/zzz
bash build_jar.sh

执行 db_init.sh 会自动构建并运行 tnb 项目各应用 jar 包

build_jar.sh 脚本中的 proj_dir 变量默认是 ~/Downloads/tnb

mvn 构建默认使用 dev 环境, 所以需要修改每个应用 resources/application-dev.yml 配置文件中的第三方服务配置

默认运行的是 jar 包, 也可构建并运行 docker 镜像, 详见 build_jar.sh 脚本的 build_image 和 exec_image 函数

停止应用

cd ~/Downloads/tnb/zzz
bash shutdown.sh

执行 shutdown.sh 会结束 tnb 项目中的各个应用

其他依赖

若要正常使用 VOD 系统, 那么还需要运行 ossbnt 项目

其他

本项目模块太多, 构建部署都太过繁琐, 推荐使用 devops 项目来自动构建部署应用.