##Kafka集群在马蜂窝大数据平台的优化与应用扩展( 五 )


【##Kafka集群在马蜂窝大数据平台的优化与应用扩展】在之前的架构中, 使用方消费 Kafka 数据的粒度都是每个 Kafka Topic 保存 LogSource 的全量数据 , 但在使用中很多消费方只需要消费各 LogSource 的部分数据 , 可能也就是某一个应用下几个埋点事件的数据 。如果需要下游应用自己写过滤规则 , 肯定存在资源的浪费及使用便捷性的问题;另外还有一部分场景是需要多个数据源 Merge 在一起来使用的 。
基于上面的两种情况, 我人实现了按业务方需求拆分、合并并定制化 Topic 支持跨数据源的数据合并及 appcode 和 event code 的任意组个条件的过滤规则 。
##Kafka集群在马蜂窝大数据平台的优化与应用扩展
文章图片

文章图片

三、后续计划
1、解决数据重复问题 。为了解决目前平台实时流处理中因故障恢复等因素导致数据重复的问题 , 我们正在尝试用 Kafka 的事务机制结合 Flink 的两段提交协议实现端到端的仅一次语义 。目前已经在平台上小范围试用, 如果通过测试 , 将会在生产环境下推广 。
2、Consumer 限流 。在一写多读场景中, 如果某一个 Consumer 操作大量读磁盘, 会影响 Produce 级其他消费者操作的延迟 。l因此 , 通过 Kafka Quota 机制对 Consume 限流及支持动态调整阈值也是我们后续的方向
3、场景扩展 。基于 Kafka 扩展 SDK、HTTP 等多种消息订阅及生产方式 , 满足不同语言环境及场景的使用需求 。
以上就是关于 Kafka 在马蜂窝大数据平台应用实践的分享 , 如果大家有什么建议或者问题 , 欢迎在后台留言 。


推荐阅读