62 lines
1.7 KiB
Markdown
62 lines
1.7 KiB
Markdown
# 订单管理系统(Kafka)
|
||
|
||
该项目是一个基于Kafka的订单管理服务,包含以下核心组件:
|
||
|
||
- `main.go` - 服务入口文件
|
||
- `go.mod` - Go语言依赖管理文件
|
||
- `config.toml` - 配置文件(环境变量/数据库设置等)
|
||
- `docker-compose.yml` - 容器化部署配置
|
||
- `.dockerignore` - Docker构建忽略规则
|
||
|
||
## 快速开始
|
||
|
||
1. 安装依赖
|
||
```bash
|
||
go mod download
|
||
```
|
||
|
||
2. 启动Kafka环境
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
3. 运行服务
|
||
```bash
|
||
go run main.go
|
||
```
|
||
|
||
## 系统要求
|
||
|
||
- Go 1.21+
|
||
- Docker 20.10+
|
||
- Kafka 2.0+
|
||
|
||
环境变量可通过`.env`文件配置
|
||
## 配置文件说明
|
||
|
||
配置文件采用TOML格式,包含以下主要配置块:
|
||
|
||
### Kafka配置
|
||
```toml
|
||
[kafka]
|
||
brokers = ["niit-node3:9092"] # Kafka代理地址列表
|
||
topic = "orders" # 消息主题名称
|
||
send_interval = "1s" # 消息发送时间间隔
|
||
retry_max = 3 # 最大重试次数
|
||
retry_backoff_ms = 100 # 重试间隔时间(毫秒)
|
||
version = "2.8.0" # Kafka版本号
|
||
```
|
||
|
||
### 订单数据配置
|
||
```toml
|
||
[order]
|
||
categories = [ # 商品分类配置
|
||
{ name = "电子", items = ["手机", "笔记本电脑", "耳机", "平板", "相机"] },
|
||
{ name = "服饰", items = ["T恤", "牛仔裤", "运动鞋", "外套", "连衣裙"] },
|
||
{ name = "食品", items = ["饼干", "巧克力", "牛奶", "方便面", "坚果"] },
|
||
{ name = "家居", items = ["沙发", "床垫", "餐桌", "椅子", "台灯"] },
|
||
{ name = "图书", items = ["小说", "漫画", "教材", "杂志", "工具书"] }
|
||
]
|
||
scores = [80, 90, 100] # 订单评分范围
|
||
valids = ["true", "false"] # 订单有效性状态
|
||
``` |