美文网首页
什么是Kafka? 大系统没有它就有些麻烦了

什么是Kafka? 大系统没有它就有些麻烦了

作者: 丁哥开讲 | 来源:发表于2019-08-11 06:28 被阅读0次

    什么是Kafka? 大系统没有它就有些麻烦了

    这一期我们谈一下kafka。

    我们先设定一下我们的场景。

    我们有一个应用需要访问一些资源,比如说数据源。

    当我们的应用比较少,比如说只有一个,数据库也比较少,只有一个的时候, 不存在任何问题。

    我们想取数据,我们直接去数据库里取就好了。

    但是,当我们的应用越来越多,数据源也越来越多的时候。每个应用可能需要访问多个数据源。有可能每个访问都用不同的方式和协议。可以想象一下。这种情况下会导致我们的程序非常复杂。我们获取数据库1需要一个特定的配置,获取访问数据库2也需要一个配置,有可能访问其他的数据资源,也会需要一个配置。这些不同的配置会使得我们的程序维护起来非常麻烦。

    在现实中具体的例子比如说,我们有信息网站会获取数据, 订单系统会获取数据, 财务状况会获取数据, 用户的输入请求会获取数据。数据的来源会是多种多样的,有可能来自某个数据库,有可能来自第三方的分析数据,也有可能是来自邮件系统,也有可能是来自你的审查系统。

    解决上述这种复杂局面的一个方法,就是使用kafka。你可以把它理解成一个中间层。经过配置以后,你的应用程序不管是哪一种,只要获取数据, 都可以向kafka要。

    而kafka接到数据请求指令以后, 会转到对应的数据源上, 经过这个中间层机制以后,在应用端的程序就会变的简单很多。

    因为使用了kafka, 简化了你的程序设计。同时他又支持多个数据源,多个服务器,这样就大大增强了程序设计的,可分发性和可扩展性以及容错处理能力。

    在可扩展性上,它支持横向可扩展,意思是说,你可以增加很多很多的服务器。

    作为中间层,它的数据响应性能是很强的, 这个可能是因为它内部做了一些缓冲的处理机制。

    目前有很多大公司都在使用kafka, 比如linkedin, netflix, airbnb, yahoo, walmart, mda等等。

    在这些大公司中啊,使用案例都不太一样,因为这些公司的业务是不同的。比较典型的业务,有下面几个。消息管理系统, 活动跟踪系统, 位置数据收集系统,程序日志数据系统,数据流处理系统等等。

    Kafka的最大作用就是消除了系统之间的依赖性,也就是耦合性。

    除此之外,kafka还可以跟其他的大数据技术,比如Spark, Flink,  Storm, Hadoop等等,集成使用。

    这一期就说这些,希望对大家有所帮助。

    这里是丁哥开讲,欢迎关注防止失联。

    相关文章

      网友评论

          本文标题:什么是Kafka? 大系统没有它就有些麻烦了

          本文链接:https://www.haomeiwen.com/subject/hdhjjctx.html