Không có mô tả

reghao 257aaf02aa update build.sh 4 tháng trước cách đây
account 8e983e3df4 auth 模块更名为 common-auth, 表示这是一个公共模块 4 tháng trước cách đây
common 72d1205989 common 模块添加 cn.reghao.tnb.common.web 包, 不再使用 cn.reghao.jutil.web 依赖 4 tháng trước cách đây
common-auth 8e983e3df4 auth 模块更名为 common-auth, 表示这是一个公共模块 4 tháng trước cách đây
content 27f8afe174 VideoPublishSbt 迁移到 content-api 模块 4 tháng trước cách đây
data 139ec0a129 1.调整 pom.xml 中的依赖结构 4 tháng trước cách đây
eureka 5aadb746c3 更新 Dockerfile 中使用的镜像 4 tháng trước cách đây
file 8e983e3df4 auth 模块更名为 common-auth, 表示这是一个公共模块 4 tháng trước cách đây
gateway 8e983e3df4 auth 模块更名为 common-auth, 表示这是一个公共模块 4 tháng trước cách đây
message 72d1205989 common 模块添加 cn.reghao.tnb.common.web 包, 不再使用 cn.reghao.jutil.web 依赖 4 tháng trước cách đây
oss 8e983e3df4 auth 模块更名为 common-auth, 表示这是一个公共模块 4 tháng trước cách đây
search e97b54324c update search-service 4 tháng trước cách đây
user 72d1205989 common 模块添加 cn.reghao.tnb.common.web 包, 不再使用 cn.reghao.jutil.web 依赖 4 tháng trước cách đây
zzz 257aaf02aa update build.sh 4 tháng trước cách đây
.gitignore 8c81a4cbfd update gitignore 5 tháng trước cách đây
README.md f7e25cc1ec update README.md 4 tháng trước cách đây
pom.xml 8e983e3df4 auth 模块更名为 common-auth, 表示这是一个公共模块 4 tháng trước cách đây

README.md

tnb

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

客户端包括 Web 应用和 Android 应用

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

版本

jdk 和框架

第三方依赖

  • mysql:5.7
  • redis:6.0.16
  • rabbitmq:3.8.9
  • zookeeper:3.8.4
  • mongodb:4.4
  • nacos-server:v2.4.1
  • elasticsearch:7.17.18 > 仅 search-service 依赖, 选用 lucene 则不再需要 elasticsearch

模块

tnb 项目模块:

  • eureka:6060 > 不依赖第三方
  • gateway:6000 > 依赖 redis, rabbitmq
  • account:6001 > 依赖 mysql, redis, zookeeper, rabbitmq
  • message:6002 > 依赖 mysql, redis, zookeeper, rabbitmq
  • file:6003 > 依赖 mysql, redis, zookeeper
  • user:6004 > 依赖 mysql, redis, zookeeper
  • content:6005 > 依赖 mysql, redis, zookeeper, rabbitmq, mongodb
  • data:6006 > 依赖 mysql, redis, rabbitmq, mongodb
  • search:6007 > 依赖 mysql, redis, zookeeper, rabbitmq, mongodb, elasticsearch, nacos > > 选用 lucene 则不再需要 elasticsearch
  • oss-store:4010 > 依赖 mysql

构建部署

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 项目中的各个应用

其他

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