热门文章> kafka是干嘛的 >

kafka是干嘛的

36氪企服点评小编
2022-01-13 11:53
1428次阅读

| 企服解答

Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。Kafka的主要功能包括生产者发送消息给kafka服务器、消费者从kafka服务器读取消息、Kafka服务器依托zookeeper集群进行服务的协调管理。

kafka是干嘛的kafka是干嘛的

1、生产者发送消息给kafka服务器

发送消息主要有3种方式:发送并忘记(fire-and-forget)、同步发送、异步发送。

2、消费者从kafka服务器读取消息

需要从Kafka读取数据的应用程序使用KafkaConsumer订阅Kafka主题,并从这些主题接收消息。从Kafka读取数据与从其他消息系统读取数据有一点不同,其中包含了一些独特的概念和思想。如果不先理解这些概念,就很难理解如何使用消费者API。将首先解释一些重要的概念,然后通过一些示例展示使用消费者api实现需求不同的应用程序的不同方式。

3、Kafka服务器依托zookeeper集群进行服务的协调管理

kafka是通过zookeeper来管理集群。kafka软件包内虽然包括了一个简版的zookeeper,但是感觉功能有限。在生产环境下,建议还是直接下载官方zookeeper软件。

| 拓展阅读

kafka的适用场景包括Messaging、Website activity tracking、Metrics、Log Aggregation。

1、Messaging

对于一些常规的消息系统,kafka是个不错的选择;partitons/replication和容错,可以使kafka具有良好的扩展性和性能优势.不过到目前为止,我们应该很清楚认识到,kafka并没有提供JMS中的"事务性""消息传输担保(消息确认机制)""消息分组"等企业级特性;kafka只能使用作为"常规"的消息系统,在一定程度上,尚未确保消息的发送与接收绝对可靠(比如,消息重发,消息发送丢失等)

2、Website activity tracking

kafka可以作为"网站活性跟踪"的最佳工具;可以将网页/用户操作等信息发送到kafka中.并实时监控,或者离线统计分析等

3、Metrics

Kafka通常被用于可操作的监控数据。这包括从分布式应用程序来的聚合统计用来生产集中的运营数据提要。

4、Log Aggregation

kafka的特性决定它非常适合作为"日志收集中心";application可以将操作日志"批量""异步"的发送到kafka集群中,而不是保存在本地或者DB中;kafka可以批量提交消息/压缩消息等,这对producer端而言,几乎感觉不到性能的开支.此时consumer端可以使hadoop等其他系统化的存储和分析系统。

[免责声明]

文章标题: kafka是干嘛的

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

消息通知
咨询入驻
商务合作