1. 需求:
所有数据需要上报一个内部数据库,其中部分数据同时需要上报不同客户仓库;总的数据量很大。
2.方案
a. 所有数据 procedure 根据不同用户需求分别上报内部通用 topic1 和用户 topic2 ; 特点:1.procedure 端数据流量 double (可能流量是瓶颈) 2.简单、直观;消费端直接消费即可,topic1 可用 kafka connect 消费转换存入 db b. 所有数据 procedure 全部上报通用 topic1 (需上报用户 topic 的消息加入 tag ),kafka stream 消费 topic1 数据流,并分别上报到内部数据库,或用户的 topic2...n ; 特点:1.procedure 端数据统一上报一份 2.增加 stream 消费处理分发环节,需要确保消费能力 > procedure,无数据积压,不丢数据; 3.stream 维护成本
3.疑问
对 kafka 不太了解;方案 a/b 感觉都存在问题。既然都要去 topic1 消费上报 db,那 b 和 a 比有绝对优势,改造下处理上报即可。 topic1 数据量很大的情况下,用什么消费组件能做到水平扩展? 有大数据处理经验的给些建议,感谢