4.1.6 消息队列Kafka版最佳实践
4.1.6.1 网站活动跟踪
成功的网站运营需要对站点的用户行为进行分析。通过消息队列Kafka版的发布/订阅模型,可以实时收集网站活动数据(例如注册、登录、充值、支付、购买),根据业务数据类型将消息发布到不同的Topic,然后利用订阅消息的实时投递,将消息流用于实时处理、实时监控或者加载到Hadoop、MaxCompute等离线数据仓库系统进行离线处理。
图:网站活动跟踪示意图
4.1.6.2 日志聚合
许多公司,例如淘宝、天猫等,每天都会产生大量的日志(一般为流式数据,例如搜索引擎PV、查询等)。相较于以日志为中心的系统,例如Scribe和Flume,消息队列Kafka版在具备高性能的同时,可以实现更强的数据持久化以及更短的端到端响应时间。这种特性决定它适合作为日志收集中心。消息队列Kafka版忽略掉文件的细节,可以将多台主机或应用的日志数据抽象成一个个日志或事件的消息流,异步发送到消息队列Kafka版集群,从而实现非常低的RT。消息队列Kafka版客户端可批量提交消息和压缩消息,对生产者而言几乎感觉不到性能的开支。消费者可以使用Hadoop、MaxCompute等离线仓库存储和Strom、Spark等实时在线分析系统对日志进行统计分析。
图:日志聚合示意图
《企业级云原生白皮书项目实战》——第四章 云原生中间件——4.1 消息队列RocketMQ&&Kafka——4.1.6 消息队列Kafka版最佳实践(下) https://developer.aliyun.com/article/1229107?groupCode=supportservice