3.4 KiB
sidebar_position |
---|
2 |
快速启动DouTok
准备环境
本教程将带领你从零开始,循序渐进搭建并启动 DouTok
项目 ,若读者已具备相关知识,可选择性阅读。
后端环境
基础需求
- 下载golang安装
- 命令行运行 go 若控制台输出各类提示命令 则安装成功
- 开发工具推荐 Goland
- 使用
Docker
或自行安装所需中间件
必要服务及中间件
- Redis
- MySQL
- Etcd
- Zookeeper
- HBase
- Kafka
- MinIO
- Kafka-ui(可选)
找到 ./env/dependencies.yml
文件,我们将使用 docker-compose
来进行安装
docker-compose -f ./env/dependencies.yml up -d
确认所需各项服务成功安装
你也可以自行安装对应服务,但需在后续修改你的对应配置文件
-
确保你的主机中的
Hosts
文件下存在这样的映射关系localhost(你的HBase部署的IP) hb-master
否则会无法找到HBase的主节点信息
-
进入你的
HBase
的Docker
容器内内部,执行下面的命令
$ hbase shell # 使用hbase命令行工具
$ create 'publish','data' # 创建表 publish , 列族为 data
$ create 'feed','data' # 创建表 feed , 列族为 data
这将为你配置好 HBase
的初始表格
拉取代码
- 运行
git clone https://github.com/TremblingV5/DouTok.git
将代码拉取到你的本地
-
准备数据库表结构
sql
文件在./scripts/DouTok.sql
文件中,将它执行到你的数据库中 -
修改配置文件
所有的配置文件都在
./config
目录下的.yaml
文件将
MySQL
、Redis
、HBase
、Kafka
、MinIO
、Etcd
的相关配置修改为你的配置
至此准备工作完成
启动服务
所有的服务都在 ./applications
文件夹下面
API网关
./applications/api/main.go
RPC服务
逻辑层
- Entity
./applications/comment/main.go
- Feed
./applications/feed/main.go
- Message
./applications/message/main.go
- Publish
./applications/publish/main.go
- Relation
./applications/relation/main.go
- User
./applications/user/main.go
业务层
- CommentDomain
./applications/commentDomain/cmd/server/main.go
- FavoriteDomain
./applications/favoriteDomain/main.go
- MessageDomain
./applications/messageDomain/main.go
- RelationDomain
./applications/relationDomain/main.go
- UserDomain
./applications/userDomain/main.go
- VideoDomain
./applications/videoDomain/main.go
可能遇到的问题
-
没有正确配置好
yaml
文件,无法连接对应服务或中间件崩溃。请仔细检查自己的环境配置,包括
IP
、端口、密码等 -
报错没有
./tmp/DouTok.log
。打印日志的文件,自己添加该文件即可
Swagger接口文档
在 API
网关服务启动后,访问 http://localhost:8088/swagger/index.html 即可
可以看到目前有的接口相关信息
前端环境
We can download .apk
file from ./ui
of this repo. Now the client is only support Android. After downloading and installing of this app. We can open it firstly. Then we can click 我
on the right bottom to enter configure page. After opening 高级配置
, we can input base url of the backend. An example is http://localhost:8080/
.