Kafaka是什么

Fanly 2020-07-13 10:40:11
问答

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。

Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,由 Scala 和 Java 编写。Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。

Kafaka

这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像 Hadoop 一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka 的目的是通过 Hadoop 的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

kafka 的架构师 jay kreps 对于 kafka 的名称由来是这样讲的,由于 jay kreps 非常喜欢 franz kafka,并且觉得 kafka 这个名字很酷,因此取了个和消息传递系统完全不相干的名称 kafka,该名字并没有特别的含义。

Kafka 是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

  1. 通过 O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以 TB 的消息存储也能够保持长时间的稳定性能。
  2. 高吞吐量:即使是非常普通的硬件 Kafka 也可以支持每秒数百万的消息。
  3. 支持通过 Kafka 服务器和消费机集群来分区消息。
  4. 支持 Hadoop 并行数据加载。

kafka 的诞生,是为了解决 linkedin 的数据管道问题,起初 linkedin 采用了 ActiveMQ 来进行数据交换,大约是在 2010 年前后,那时的 ActiveMQ 还远远无法满足 linkedin 对数据传递系统的要求,经常由于各种缺陷而导致消息阻塞或者服务无法正常访问,为了能够解决这个问题,linkedin 决定研发自己的消息传递系统,当时 linkedin 的首席架构师 jay kreps 便开始组织团队进行消息传递系统的研发。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 微服务

    什么是微服务

    微服务架构的系统是一个分布式的系统,按业务进行划分为独立的服务单元,解决单体系统的不足,同时也满足越来越复杂的业务需求。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
  • 软路由 HinLink

    软路由的微服务和容器化趋势如何

    软路由通过微服务架构拆分功能,提高灵活性、可扩展性和故障隔离性。同时,利用容器化技术,确保应用环境的一致性,支持快速部署与迭代,并优化资源使用。随着5G、IoT的发展,这些技术将推动更高效、灵活的网络设计和管理,满足未来复杂的网络需求。
  • Kubernetes 微服务部署

    Kubernetes如何部署微服务

    Kubernetes是一个强大的容器编排平台,用于管理和部署微服务架构应用。部署微服务到Kubernetes的关键步骤包括创建集群、容器化微服务、创建Kubernetes部署和服务、监控和自动扩展微服务,以及实施持续交付。
  • Microservice Architecture 微服务架构

    微服务架构和分布式架构的区别是什么

    微服务架构和分布式架构的区别是部署方式不一样。分布式是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。微服务的应用可以部署在是同一个服务器,不一定是分散在多个服务器上。
  • Microservice Architecture 微服务

    主流微服务框架有哪些

    微服务(Microservice Architecture)是一种架构思想,SOA 架构的一种变体。主流微服务架构有SpringCloud、ServiceComb、ZeroC ICE、Motan、Thrift
  • Nginx

    Nginx,轻量级的高并发开源Web服务器软件

    Nginx是一款高性能的开源Web服务器软件,广泛应用于静态内容处理、反向代理和负载均衡等场景。以其高效的事件驱动架构、低资源消耗、灵活的配置能力和优秀的安全特性著称,Nginx能够支持极高的并发连接,适合各种规模的应用,从小型个人项目到大型企业级应用。