Stwzhj-Cloud-Plus/stwzhj-modules/stwzhj-kafka-consumer/README.md

51 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# stwzhj-kafka-consumer 服务说明
## 功能描述
消费SCRAM认证的Kafka消息并通过HTTP批量发送给生产者服务。
## 启动命令格式
```bash
java -jar stwzhj-kafka-consumer.jar <port> <cityName> <bootstrapServers> <topics> <username> <cityCode>
```
### 参数说明
- `port`: 服务端口
- `cityName`: 城市名称
- `bootstrapServers`: Kafka服务器地址多个地址用逗号分隔
- `topics`: 订阅的主题,多个主题用逗号分隔
- `groupId`: 消费者组ID
- `cityCode`: 城市代码
### 环境变量
- `KAFKA_USERNAME`: Kafka用户名必填
- `KAFKA_PASSWORD`: Kafka密码必填
## 启动示例
```bash
# 设置环境变量
export KAFKA_USERNAME=your_username
export KAFKA_PASSWORD=your_password
# 启动服务
java -jar stwzhj-kafka-consumer.jar 11000 huangshan 192.168.10.81:9092,192.168.10.82:9092,192.168.10.83:9092 topic.send.2,topic.send.3,topic.send.4,topic.send.5 hs_gp 3410
```
## 高吞吐量优化
1. **批量发送**: 将多条消息打包成一批发送减少HTTP请求次数
2. **连接池**: 使用Apache HttpClient连接池复用TCP连接
3. **压缩传输**: 支持Gzip压缩减少网络传输数据量
4. **多线程处理**: 使用3个线程处理消息队列
## 注意事项
1. 确保生产者服务已启动并正常运行
2. 根据实际负载情况调整批量发送大小和超时时间
3. 监控消息队列容量,避免消息丢失
4. Kafka密码需要在启动脚本中通过环境变量或配置文件传入