问题如下: 1. 建议拆分 SinkRecord 和 SourceRecord, 语义明确,方便区分数据执行阶段,同时方便两部分api独立扩展,以防止出现有些字段在 source中用到,却在 sink中用不到但依然存在的情况,容易对使用上带来疑惑,造成过多的沟通的成本; 2. 显式声明topic / offset / queueId等字段,放到 recordPartition中用map 方式存储,结构较深,且对不熟悉代码的人不易发觉,学习成本较高,且导致代码过于松散 3. Record 绑定 topic, 方便多topic路由发送