一、为什么需要kafka
①、kafka起源于LinkedIn公司,LinkedIn需要收集各个业务系统和应用的指标数据来进行数据分析。
②、原先是使用"自定义开发"系统来实现的,但是需要采集的数据量非常大的,且内容很复杂,而且除了采集系统的基础指标(内存,CPU,磁盘,网络等)外,还要采集很多和业务相关的数据指标。
③、而且随着数据量的增长,业务的需求的复杂度增高,这个自定义开发的系统的问题也越来越多。
例如:一个HTTP请求过来,如果数据内容是XML数据格式进行传输的话,需要先对这部分数据做解析处理,然后才能拿来做离线分析。
但是解析XML数据格式的解析过程也是非常复杂的,出现问题,定位也非常麻烦,需要很长的处理时间,所以说无法做到实时服务。
④、之后这家公司寻找了一个可支持大数据并且实时服务而且支持水平扩展的解决方案,尝试用过ActiveMQ,但是它不支持水平扩展,并且ActiveMQ内部有很多的bug。
⑤、然后这个公司就自己开发了一个既满足实时处理需求,又可以支持水平扩展的消息系统-kafka,它还拥有高吞吐量特性。
⑥、2010年,kafka项目被托管到Github的开源社区,2021年,kafka成为Apache 项目基金会的一个开源项目,如今,kafka项目已经成为Apache项目基金会的顶级项目之一。
今天先到这了,明天见~~