元数据服务对数据库结构和数据量进行分类汇总,监听数据库实时变动,发送统计数据给下游统计服务。统计服务将业务系统的统计任务抽离,并实现实时统计,配置统计任务监听,接收上游元数据平台的原始数据,根据任务规则,触发统计任务。
主要职责:
1. 参与前期技术方案设计,需求评审和主要功能实现
2. 通过kafka接收元数据平台的原始数据推送
3. 根据规则触发任务,支持表字段级别和不同的数据写入动作的配置,支持精确和模糊匹配
4. 根据需求定制不同的统计任务,通过策略模式实现匹配
5. 使用canal监听binlog,并通过canal原生发送到kafka
6. 注册数据库实例到管理平台,进行初始化,通过kafka接收binlog日志进行增量更新
7. 对ddl语句解析维护数据库结构信息,支持对元数据添加标签;. 对dml语句进行实时统计,将结构和统计信息写入es,并根据配置发送消息到统计平台。
项目使用spring boot,使用mysql和elasticsearch作为存储,canal监听binlog,redis作为缓存,kafka消息队列