Kafka学习笔记

        Kafka专为分布式高吞吐量而设计的.Kafka做为传统消息代理的替代品,Kafka具备更好的吞吐量,内置分区,复制和固有的容错能力,这使得它很是适合大规模消息处理程序.异步

 

什么是消息系统?分布式

消息系统负责将数据从一个应用程序传输到另外一个应用程序,所以应用程序能够专一于数据,但不担忧如何共享它.分布式消息传递基于可靠的消息队列的概念.消息客户端应用程序和消息传递系统之间异步排队.有两种消息模式可用 一种是点对点,另外一种是发布-订阅(pub-sub).大多数消息模式遵循pub-sub性能

 

点对点消息系统

在点对点系统中,消息被保留在队列中。 一个或多个消费者能够消耗队列中的消息,可是特定消息只能由最多一个消费者消费。 一旦消费者读取队列中的消息,它就从该队列中消失。 该系统的典型示例是订单处理系统,其中每一个订单将由一个订单处理器处理,但多个订单处理器也能够同时工做。 下图描述告终构。spa

发布 - 订阅消息系统

在发布 - 订阅系统中,消息被保留在主题中。 与点对点系统不一样,消费者能够订阅一个或多个主题并使用该主题中的全部消息。 在发布 - 订阅系统中,消息生产者称为发布者,消息使用者称为订阅者。 一个现实生活的例子是Dish电视,它发布不一样的渠道,如运动,电影,音乐等,任何人均可以订阅本身的频道集,并得到他们订阅的频道时可用。设计

 

什么是Kafka?代理

Apache Kafka是一个分布式发布-订阅系统和一个强大的队列,能够处理大量的数据,并使您可以将消息从一个端点传递到另外一个端点.Kafka适合离线消息和在线消息.Kafka消息保存在磁盘上,并在磁盘内复制以防止数据丢失.Kafka构建在Zookeeper同步服务之上它与Apache Storm 和Spark很是好的集成,用于实时流失数据处理分析.日志

好处:orm

  • 可靠性 Kafka是分布式,分区,复制和容错的
  • 可扩展性 Kafka消息传递系统轻松缩放,无需停机
  • 耐用性 Kafka使用分布式提交日志,这意味着消息会尽量地保留在磁盘上,所以它是持久的
  • 性能 Kafka对于发布和订阅消息都具备高吞吐量.即便存储了许多TB的消息,它也保持稳定的性能

Kafka很是快,并保证零停机和零数据丢失.队列

相关文章
相关标签/搜索