Apache Kafka 未来发展方向及其应用场景?

  • 回答 (10)
  • 关注 (0)
  • 查看 (187)

Apache Kafka是什么?Apache Kafka能给未来带来哪些好处和发展方向是什么呢?应用场景都有哪些?新手如何学习Kafka

演化史记演化史记提问于
恩蕊儿修改于

Apache Kafka是一个由一种类似于java语言的Scala多范式编程语言编写,主要是Apache软件基金会进行开发是一个开源的消息系统项目,但最初的起源是在2011年由LinkedIn进行开发的,LinkedIn在2011年初进行开源

Apache Kafka主要是一个分布式流媒体平台也可以叫为分布式流式传输平台,分布式流媒体平台的功能主要分为三个点:

1.发布和订阅记录流,与消息传递系统和消息队列类似

2.以持久容错的方式进行储存记录流

3.处理在记录中发生的流

可以理解为:发布-存储-处理

注意:发布和订阅是一种消息传递模型,由发件人发送消息,然后由多个接受者进行使用。

而Apache Kafka相对于普通的邮件系统相比,Kafka具有更大的吞吐IO量,更好内置的分区,并且具备复制和容错功能等优点。最主要的还是企业经常考虑的稳定性问题,Kafka具备更强大的耐用性保证和稳定性,就是这些有优点,使其成为大型邮件处理应用的绝佳解决方案。

Apache Kafka应用场景

  1. Kafka可以与Apache Storm一起使用来处理数据管道,以实现高速过滤和模式匹配。
  2. 用于监控数据管道
  3. 可以将每一次用户点击,每一个数据库更改,每一条日志的生成,都转化成实时的结构化数据流,更早的存储和分析它们,并从中获得价值。

等等,不过通常的是用来跟踪用户的活动数据,和运营指标等。

Apache Kafka 未来发展

Apache Kafka 的未来发展就是大数据的未来发展,某乎的核心基础组件就是基于Kafka的,而承载某乎大量的消息和日志服务的主要核心就是Kafka。随着大数据的应用领域不断加大,Kafka的应用领域也不断增大,而Kafka也并非应用于大数据领域,还有其他领域。个人对Kafka的发展非常看好。因为我已经在学习了。我刚开始学的时候看的是这个Apache Kafka 教程简洁,清楚,很容易学习,希望对你有帮助。最后附上Kafka的信仰logo。:)

MyLove回答于

Kafka技术目前主要应用于在大数据中,在大数据中,主要有俩个必要难点,那就是如何去收集大量的数据和如何去分析这些大量的数据。而Kafka好像就是为这个难点而生的,那就是消息传递系统。

如果要说Kafka是什么,我认为把Kafka认为分布式的高吞吐量系统最为恰当了,和普通的消息系统相比,就像小巫见大巫,你没有的,我也有,并且还比你强。

这里我可能还需要给你说一下,什么是消息系统,这样理解什么是Kafka要更容易一些,如果你理解可以跳过。

消息系统主要的功能就是把一堆数据从一个应用程序传递给其他的应用程序。这样一来,每个应用程序不会为如何共享数据而烦恼,主要专注于数据就好。而Kafka就和这个是差不多性质的,但Kafka是分布式的消息系统,和普通的消息系统来说,要更为可靠。普通消息系统是点对点的,就是你对我,我多你,在消息传递中,只能我俩进行交流。而Kafka是一对多的关系,由称为发布与订阅系统,可以由一个对多个。并且随时可以获得。

Apache Kafka的好处可以大概理解为以下:

  1. 可扩展性
  2. 可靠性
  3. 耐久性
  4. 性能高

Kafka应用场景可以有很多,但一般用在大数据中,因为它是一种技术,不是一个产品。

目前关于Apache Kafka教程还是非常少的,或者不够通用和完整性,如果你拥有相关的基础的话。我建议你去阅读Apache Kafka的官方文档,和书籍。至于推荐就不推荐了,你可以在网络上搜索一下,希望对你有帮助。

Dust资深服务器虚拟化工程师。回答于

Apache Kafka官网

以上是Apache Kafka的官网,上面的答案都没有给出,所以我把它贴在这里了。俗话说得好,与其听别人说他是什么,还是自己去理解它是什么要好得多,如果你是以学习为目的的话。看楼上的答案,已经把什么是Apache Kafka说得很透彻了,所以在这里我就不多言了。

这里主要说一下个人见解的,Apache Kafka的应用场景,Apache Kafka可以应用于当下的热门消息推送,比如,微博的热点,谁谁又爆出有女朋友了,某乎的消息推送等等。而这些推送的消息来源就是Apache Kafka的核心功能来完成的,然后就是网站轨迹了,打个比方,你在一个网站进行操作,而你的操作信息就可以通过Apache Kafka进行收集和分析,然后就按照业务需求等原因,进行实时的状态监控,或者做离线处理等等,说白了就是快,好用。可以把Kafka认为一个看门狗,有人来了就叫唤。就像是主机A有每次都有一个请求需要发送到主机B,而A又不需要等B的结果。这时候我们经常会起一个子线程或者丢入ThreadPool来完成这个工作。有了Kafka,A主机主线程直接丢给Kafka就可以了。未来的发展,有句话说好,趋势决定未来现实。在当今谈论得最多的热门话题,那么在未来这个话题将会成为现实。比如,古人的飞天梦。

吴凌云千里之行,始于足下回答于

Kafka是一个分布式的、分区的、多复本的日志提交服务。它通过一种独一无二的设计提供了一个消息系统的功能。来自百度百科:)

风研雨墨回答于

先学习的话,有一本书《Apache kafka源码剖析》

jennhuang小白一枚,啦啦啦回答于

https://cloud.tencent.com/developer/article/1037337 这个专栏解释的很好~

八十岁的背影回答于

官方文档尽量先看一遍,最好的资料。

leo陈帅华回答于

准实时Spark流计算。这个没啥好说的,SparkStreaming自己去官网看。

可能回答问题的人

扫描关注云+社区