社区版
- 适合初创团队与技术爱好者
- 提供基础访问数据采集与统计分析功能
- 助你快速验证可行性,降低试错成本
技术栈选择
后端:Java、Redis 、Zookeeper、Kafka 、Flink
前端:vue、vue-element-admin、element-ui 、echarts
数据:Clickhouse 23.2.1+、mysql
系统架构
标准模式
采集日志数据先存入kafka,经由flink处理后再存入clickhouse.

快速模式
采集日志直接存入clickhouse.

模式区别
| 标准模式 | 快速模式 | |
|---|---|---|
| 模式区别 | 采集的埋点数据通过中间件进行队列缓冲和流式计算然后写入数据库 | 采集的埋点数据直接写入数据库,不需要中间件系统缓存和处理 |
| 满足高可用性能要求 | 满足一般性能要求 | |
| 采集数据不会丢失 | 采集数据可能会丢失 | |
| 部署流程相对复杂 | 部署流程简单 | |
| 二开门槛相对较高 | 二开门槛较低 | |
| 适用场景 | 网站访问量极大、业务场景复杂、 数据安全性可靠性较高、性能要求较高 | 网站访问量较小、业务场景比较简单 |
项目组成
初始化服务【clklog-init】:初始化服务,用于clickhouse数据库初始化和定时脚本任务配置。
接收服务【clklog-receiver】:数据接收服务,接收客户端采集的日志数据并存入kafka。
处理服务【clklog-processing】:数据处理服务,依托flink,消费kafka数据并存入clickhouse。
管理接口【clklog-manage】:管理接口,提供clklog-ui前端项目管理、账号管理及数据清洗过滤配置相关接口。
统计接口【clklog-api】:统计接口,提供前端各维度数据查询统计分析接口。
统计展示 【clklog-ui】:基于 vue-element-admin 实现的相关统计分析及系统相关功能配置的前端应用。
示意图
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |










