# 订单管理系统（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"]     # 订单有效性状态
```