66 lines
1.8 KiB
Markdown
66 lines
1.8 KiB
Markdown
|
|
# Seqlog Web 演示
|
|||
|
|
|
|||
|
|
一个简单的 Web 应用,展示 Seqlog 的实际使用场景。
|
|||
|
|
|
|||
|
|
## 功能
|
|||
|
|
|
|||
|
|
### 后端模拟业务
|
|||
|
|
- 每 2 秒自动生成业务日志
|
|||
|
|
- 随机生成不同 topic(app、api、database、cache)
|
|||
|
|
- 随机生成不同操作(查询、插入、更新、删除、备份、恢复、同步等)
|
|||
|
|
- **随机日志大小**(2KB ~ 10MB):
|
|||
|
|
- 80% 小日志(2KB - 100KB)
|
|||
|
|
- 15% 中日志(100KB - 1MB)
|
|||
|
|
- 5% 大日志(1MB - 10MB)
|
|||
|
|
|
|||
|
|
### Web 查询界面
|
|||
|
|
- 查看所有 topics
|
|||
|
|
- 查看每个 topic 的统计信息(显示实际字节数)
|
|||
|
|
- 查询日志(支持向前/向后翻页)
|
|||
|
|
- 实时自动刷新
|
|||
|
|
- 日志状态标注(已处理/处理中/待处理)
|
|||
|
|
|
|||
|
|
## 快速启动
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd example/webapp
|
|||
|
|
go run main.go
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
访问: http://localhost:8080
|
|||
|
|
|
|||
|
|
## 使用说明
|
|||
|
|
|
|||
|
|
1. **选择 Topic**: 点击左侧的 topic 列表
|
|||
|
|
2. **查看统计**: 左侧会显示该 topic 的统计信息(包括总字节数)
|
|||
|
|
3. **查看日志**: 右侧显示日志内容,带状态标注
|
|||
|
|
4. **刷新**: 点击"刷新日志"按钮或等待自动刷新
|
|||
|
|
5. **翻页**: 使用"向前翻页"和"向后翻页"按钮
|
|||
|
|
6. **自定义范围**: 修改显示范围的数字,控制查询条数
|
|||
|
|
|
|||
|
|
## 界面说明
|
|||
|
|
|
|||
|
|
- **绿色边框**: 已处理的日志
|
|||
|
|
- **黄色边框**: 正在处理的日志
|
|||
|
|
- **灰色边框**: 待处理的日志
|
|||
|
|
|
|||
|
|
## 性能测试
|
|||
|
|
|
|||
|
|
由于日志大小范围很大(2KB ~ 10MB),可以观察到:
|
|||
|
|
- 小日志处理速度很快
|
|||
|
|
- 大日志会占用更多存储空间
|
|||
|
|
- 统计信息会显示真实的字节数增长
|
|||
|
|
|
|||
|
|
## API 接口
|
|||
|
|
|
|||
|
|
- `GET /api/topics` - 获取所有 topics
|
|||
|
|
- `GET /api/stats?topic=<name>` - 获取统计信息
|
|||
|
|
- `GET /api/query?topic=<name>&backward=10&forward=10` - 查询日志
|
|||
|
|
- `POST /api/write` - 手动写入日志
|
|||
|
|
|
|||
|
|
## 技术栈
|
|||
|
|
|
|||
|
|
- 后端: Go + Seqlog
|
|||
|
|
- 前端: 原生 HTML/CSS/JavaScript
|
|||
|
|
- 无需额外依赖
|