Kafka对实时数据的4个主要好处
在我们的大数据时代,您的IT基础架构可能因来自各种来源的数据涌入而征税。最重要的是,客户要求在没有任何延迟时间的情况下在“实时”中看到他们的数据,因此您的服务器需要快速处理和显示数据。Apache Kafka是一项新技术,在2011年开发,允许您做到这一点。
Kafka是一个分布式流媒体平台,可以让公司创建实时数据feed。优步(Uber)、推特(Twitter)、Airbnb、Yelp等公司都在使用它,如今超过30%的《财富》500强公司都在使用它。例如,通过整合各种数据,如点赞、页面点击、搜索、订单、购物车和库存,Apache Kafka可以帮助将数据实时输入预测分析引擎来分析客户行为。
现在,Apache Kafka已达到稳定的1.0版本,更多的公司正在采用技术作为其IT基础架构的骨干。CTO越来越优先考虑启用更多实时架构并降低数据可用性的等待时间。Apache Kafka相关的问题在谷歌上的搜索和技术论坛,如StackOverflow和Github也在近年来飞涨,这表明它是一个热门话题。此外,Apache Kafka是第四热门技术技能2018年在Udemy上的趋势。
那么Apache Kafka的好处是什么,为什么你公司应该采用它,你的IT团队需要成功实施什么技能?
Apache Kafka的4个主要好处
由于公司从不同来源(例如,网站,用户交互,金融交易)提供了增加的数据到广泛的目标系统(例如,数据库,分析,电子邮件系统),开发人员必须为每个数据库提供编写集成。因此,例如,如果您有4个源系统和6个目标系统,它的IT团队开发人员必须编写24个集成的代码。这是一个繁琐的过程,更不用说,慢慢易于提供数据。以下是使用Apache Kafka的四个主要优点。
1.Apache Kafka充当缓冲区,因此您的系统不会崩溃
以前,来自外部源系统的数据转换通常是在夜间批量完成的。Apache Kafka解决了这个缓慢的,多步骤的过程,作为一个中介从源系统接收数据,然后使这个数据在目标系统实时可用。更重要的是,你的系统不会崩溃,因为Apache Kafka是它自己的一套单独的服务器(称为Apache Kafka集群)。
2.减少对多重集成的需要
从本质上讲,Apache Kafka减少了多重集成的需要——因为你所有的数据都要经过Apache Kafka。您的开发人员无需编写多个集成代码,这样您就可以从不同的系统获取数据,您只需为每个生产系统和每个消费系统创建一个与Apache Kafka的集成。
3.低延迟和高吞吐量
通过解耦你的数据流,Apache Kafka允许你在需要的时候消费数据。不需要缓慢的集成,Apache Kafka将延迟(或每个数据点加载所需的时间)减少到仅仅10毫秒(与其他集成相比大约减少10倍或更多)。这意味着您可以快速、实时地交付数据。Apache Kafka也可以横向扩展到一个集群中的数百个代理(或服务器)来管理大数据。
一些公司在Kafka中每秒有数百万个数据点的高负载。例如,Uber使用Kafka将汽车位置数据实时输入其峰时价格计算模型。
4.每个人都可以访问数据
由于你所有的数据都集中在Apache Kafka中,任何团队访问数据都变得更容易。例如,在过去,您的欺诈团队可能不得不与web团队合作来获取特定类型的用户数据,因为它们运行在不同的目标系统上。现在,您的欺诈团队将能够通过Apache Kafka直接访问用户数据,以及其他feed,如财务数据或网站交互。简单,是吧?
Apache Kafka技能您的IT团队需求
一旦了解到利益并决定采用Apache Kafka,您的IT团队将需要获取在您组织中设置和管理Apache Kafka的关键技能。以下是您团队需要的一些关键技能。
如何学习,设置和配置Apache Kafka。Apache Kafka已经建成了,开源和免费。因此,它更多地是首次获取技能,然后设置Apache Kafka并为系统配置它。我的课程Apache Kafka系列:为初学者学习Apache Kafka是您团队开始学习技术的好地方。我覆盖了Apache Kafka生态系统,某些目标架构如何看起来像,以及Kafka的基本概念,如主题,分区,复制,经纪商,生产者,消费者组,Zookeeper,交付语义等。我的课程还提供动手练习,因此您的团队可以使用Apache Kafka获得一些实践经验。
一旦准备好了,我推荐我更先进的教师课程Kafka集群设置和管理。此外,我还提供咨询服务,以帮助公司设计,设置和配置Apache Kafka。
Java编程。虽然客户端库存在与Apache Kafka交互使用大多数编程语言(Python, Go, Javascript等),Apache Kafka工作最好的是使用Java虚拟机类型的语言,如Java或Scala。因此,你的团队能够做到这一点很重要java中的代码写完他们的集成。
Kafka Streams和Kafka Connect。如果要简化集成,您的团队也需要一些像Kafka Streams和Kafka Connect等Kafka特定技能。这些是您的团队更先进的Kafka概念和框架,您的团队将需要随着时间的推移构建可靠和生产准备的集成。作为一名顾问,我通常会展示如何构建一个或两个集成,但您的团队将不得不为其余的整合规范。
- Kafka Connect是一个工具,可扩展和可靠的流数据之间的Apache Kafka和其他数据系统。您已经可以在confluent.io/product/connectors/中利用为您编写的大量现有连接器。我的课程卡夫卡连接教授您需要实现和利用这些连接器所需的所有技能。
- Kafka Streams库用于处理、聚合和转换您在Kafka中的数据。我的课程KAFKA用于数据处理的流教导如何在Apache Kafka上使用此数据处理库,通过若干示例演示了可能性范围。
迁移到Apache Kafka:开始小
不要将整个系统迁移到Apache Kafka一次。相反,从一个小的非关键项目开始。例如,不要更改金融系统的骨干,但更改一些不那么重要的东西,例如您的电子邮件通知系统。其次,我看到的最大错误之一是公司花几个月试图建立一个可靠的Apache Kafka集群。相反,我建议从托管服务开始或聘请顾问在Apache Kafka上设置一个小项目。这使您可以立即开始开发方面,并帮助为什么Apache Kafka对您公司至关重要。betwayapp下载安装从那里,您将能够扩展,船上更多的数据和项目,并使您的公司能够更有效地实时地对事件做出反应。