突然想到的一个题外话:
我们为什么要使用 Kafka ?
暂时不说那么多原因,我只想到了其中一个:
当我们有多个数据处理程序,需要一个源头的数据来“喂”,才能发挥数据处理最终的功效时!
比如我们有一个类似淘宝一样的平台。
有平日的订单流,也有用户每日的浏览,点击,询问等活动日志。
订单流我们会直接记录到数据库,做持久化。
而点击流,评论等等活动内容,
我们是由舆论分析系统,点击分析系统,推荐分析系统等其他系统来处理的
这些分析系统,怎么抓取网站上的这些活动内容?
仅仅靠单一的点对点,那么无疑会增加网页设计的工作量,
因为不得不增加对多个系统的直连访问
而使用了 Kafka 等日志系统
网页只需要发一次消息到 Kafka cluster
那么相关有兴趣的订阅方,就会到 Kafka Cluster 上读取自己想要的 topic
拿到自己感兴趣的 topic, 就可以拉到自己系统做分析处理
比如 PV(Page View), UV(User View)分析,即页面浏览总量,用户总量分析
比如 Recommand 系统,即推荐系统,根据浏览的产品,推荐一些相关产品。
这就是一个需要 Kafka 这种集中式分发消息的场景
一处获取,多方订阅
不对业务系统有过多的访问压力,还能提供更有效,高吞吐量的多播环境
欢迎关注【有关SQL】
领取专属 10元无门槛券
私享最新 技术干货