# tnb 微服务实践 ## 依赖 - os:Linux - jdk:11 - maven:3.9 - mysql:5.7 - redis - rabbitmq - zookeeper:3.4 - mongodb:4.4 ## 架构 tnb 项目模块: - gateway:6000 - account:6001 - user:6002 - message:6003 - file:6004 - content:6005 - mall:6006 - data:6007 ## 初始化 MySQL - 1.bnt/zzz/bnt_init.sql 文件是系统的初始数据 - 2.执行 bnt/zzz/init_schema.sh 脚本可完成数据库的创建和初始化 > 需要自行指定脚本中的 host, username, password, db 等变量值 - 3.然后可以开始构建和部署系统 ## 构建 根据需要构建的类型使用 wget 获取构建脚本: ``` # 构建 jar 包使用此脚本 wget https://git.reghao.cn/reghao/tnb/raw/master/zzz/build_jar.sh # 构建 docker 镜像使用此脚本 wget https://git.reghao.cn/reghao/tnb/raw/master/zzz/build_image.sh ``` - 1.修改构建脚本中的 base_dir 变量的值 - 2.执行构建脚本 - 3.构建完成 > 如果使用 build_jar.sh 脚本构建, 生成的 jar 包会存放在相应模块的 target 目录中 > > 如果使用 build_image.sh 脚本构建, 生成的镜像可使用 docker images | grep 'tnb' 命令查看 ## 部署 使用下述命令启动: ``` # 构建的 jar 包 java -jar xxx.jar # 构建的 docker 镜像 docker run -d --name=tnb-xxx --network=host reghao/tnb-xxx:12345678 ``` > 默认使用 resources/application-test.yml 配置文件 此项目模块太多, 构建部署都太过繁琐, 推荐使用 [devops](https://git.reghao.cn/reghao/devops) 项目来自动构建部署应用.