Project documentation: https://ntp0va1sf4.feishu.cn/docx/doxcnGUuDyP5k19AWPsf9yPPe5d
Minimal-douyin service is divided into six main sections.
| Service Name | Usage | Framework | protocol | Path | IDL |
|---|---|---|---|---|---|
| apiservice | http interface | kitex/gin | http | minimal-douyin/cmd/api | |
| userservice | user data management | kitex/gorm | protobuf | minimal-douyin/cmd/user | minimal-douyin/idl/user.proto |
| videoservice | video data management | kitex/gorm | protobuf | minimal-douyin/cmd/video | minimal-douyin/idl/video.proto |
| favoriteservice | favorite data management | kitex/gorm | protobuf | minimal-douyin/cmd/favorite | minimal-douyin/idl/favorite.proto |
| commentservice | comment data management | kitex/gorm | protobuf | minimal-douyin/cmd/comment | minimal-douyin/idl/comment.proto |
| followservice | follow data management | kitex/gorm | protobuf | minimal-douyin/cmd/follow | minimal-douyin/idl/follow.proto |
- Middleware、Rate Limiting、Request Retry、Connection Multiplexing
- Tracing
- use jaeger to tracing
- Service Discovery and Register
- use registry-etcd to discovery and register service
| catalog | introduce |
|---|---|
| pkg/constants | constant |
| pkg/bound | customized bound handler |
| pkg/errno | customized error number |
| pkg/middleware | RPC middleware |
| pkg/tracer | init jaeger |
| dal | db operation |
| pack | data pack |
| service | business logic |
docker-compose up
cd cmd/user
sh build.sh
sh output/bootstrap.sh
cd cmd/video
sh build.sh
sh output/bootstrap.sh
cd cmd/favorite
sh build.sh
sh output/bootstrap.sh
cd cmd/comment
sh build.sh
sh output/bootstrap.sh
cd cmd/follow
sh build.sh
sh output/bootstrap.sh
cd cmd/api
chmod +x run.sh
./run.sh