بدون توضیح

reghao 5ed10afb89 update SearchController in search-service 7 ماه پیش
account 46fe4eae44 account-service 中的 UserAccount 添加一个 roles 字段, 其内容为 "1,2,3" 字符串格式, 表示帐号拥有的角色, 对应到 UserAccountRole, UserAccount 默认拥有一个 ROLE_USER 角色 7 ماه پیش
common 7dfa70cf38 update AuthUserAspect 7 ماه پیش
content fffed254ab update ImageFile 7 ماه پیش
data 3672f76176 data-service 中添加获取 request body 的 GetRequestBodyFilter 8 ماه پیش
eureka 3a01394cd4 更新 Dockerfile 使用的 image 8 ماه پیش
file dd1d4166ea update TokenFilter 7 ماه پیش
gateway 0e89e79f7d gateway 中添加对 X-Real-Remote header 的获取, 此 header 由 nignx 添加, 实际对应的是 proxy_protocol_addr, 这由 proxy protocol 协议提供, 通过外网访问隐藏的内网中的服务时, 提供真实的外网 IP 7 ماه پیش
log e4627d0201 引入 cn.reghao.bnt.log 包中的 pojo 记录 gateway 日志和 app 日志, 同时将日志的消费端从 message-service 中删除, 移到 bnt 项目中 7 ماه پیش
message e4627d0201 引入 cn.reghao.bnt.log 包中的 pojo 记录 gateway 日志和 app 日志, 同时将日志的消费端从 message-service 中删除, 移到 bnt 项目中 7 ماه پیش
search 5ed10afb89 update SearchController in search-service 7 ماه پیش
user dd1d4166ea update TokenFilter 7 ماه پیش
zzz 1de73504f0 update zzz/install_tnb.sh 7 ماه پیش
.gitignore afd0a98406 使用 tnb1 项目 master 分支的 2478e4c4 commit 作为起点 1 سال پیش
README.md 81c180a667 README.md 添加 spring 版本 8 ماه پیش
pom.xml fc0434e964 tnb/pom.xml 中使用 dubbo.version 变量指定 dubbo 版本 7 ماه پیش

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

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 项目来自动构建部署应用.