赞
踩
Kafka是一个分布式、支持分区、多副本的消息系统,最大特点是实时处理大量数据以满足各种需求场景。它可以用于日志收集、消息系统、用户活动跟踪、运营指标等。Kafka是用Scala语言编写的,于2010年贡献给了Apache基金会并成为顶级开源项目。
由于Kafka的高吞吐量、可扩展、可靠和分布式等特点,它在很多大型的互联网应用中得到广泛的应用。
Kafka是一个分布式的、分区的消息服务,提供了消息系统应该具备的功能。它借鉴了JMS规范的思想,但是并没有完全遵循JMS规范。JMS是一种类似于JDBC对于数据库的,对于Java调用消息队列的接口规范。
Kafka主要用于处理实时数据流,提供高吞吐量、可扩展、可靠和分布式的数据处理能力。
首先,让我们来看一下基础的消息(Message)相关术语:
因此,从一个较高的层面上来看,producer通过网络发送消息到Kafka集群,然后consumer 来进行消费,如下图:
服务端(brokers)和客户端(producer、consumer)之间通信通过 TCP协议 来完成。
ZooKeeper主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理。 使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。
在云服务器上使用docker安装Kafka:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。