# tnb
微服务实践, 本项目实现了一个类似 bilibili 的 VOD 系统后端 
> 客户端包括 Web 应用和 Android 应用
> > 分别由 [tnbapp](https://git.reghao.cn/reghao/tnbapp) 项目和 [tnbdroid](https://git.reghao.cn/reghao/tnbdroid) 项目提供

## 版本
### jdk 和框架
- os:Linux
> 推荐使用 Debian11
- jdk:17
- maven:3.9.11
- spring:6.1.2
> https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.1-Release-Notes
- springboot:3.2.1
> https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes
- springcloud:2023.0.1
> https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2023.0-Release-Notes

### 第三方依赖
- 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
- admin:6010
> 依赖 mysql, redis, zookeeper, rabbitmq, mongodb, elasticsearch, nacos

## 构建部署
项目的构建部署可见 [tnb0](https://git.reghao.cn/reghao/tnb0) 项目