码迷,mamicode.com
首页 > 其他好文 > 详细

Golang 连接Kafka

时间:2018-10-21 13:09:57      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:解释   rabbitmq   sum   java   ons   性能   png   开源   连接   

Kafka介绍

Kafka是Apache软件基金会开发的一个开源流处理平台,由Java和Scala编写;Kafka是一种高吞吐、分布式、基于订阅发布的消息系统。

 

Kafka名称解释

Producer:生产者

Consumer:消费者

Topic:消息主题,每一类的消息称之为一个主题

Broker:Kafka以集群的方式运行,可以由一个或多个服务器组成,每个服务器叫做一个broker

Partition:物理概念上的分区,为了提供系统吞吐量,在物理上每个Topic会分为一个或多个Partition

 

Kafka架构图

技术分享图片

一个典型的Kafka集群中包含若干Producer,若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个Zookeeper集群。

Kafka通过Zookeeper管理集群配置及服务协同,Producer使用push模式将消息发布到broker,Consumer通过监听使用pull模式从broker订阅并消费消息。

图上有个细节需要注意,producer给broker的过程是push,也就是有数据就推送给broker,而consumer给broker的过程是pull,是通过consumer主动去拉数据的,而不是broker把数据主动发送给consumer端的。

 

Kafka与RabbitMQ比较

Kafka比RabbitMQ性能要高

RabbitMQ比Kafka可靠性要高

因此在金融支付领域使用RabbitMQ居多,而在日志处理、大数据等方面Kafka使用居多。

Golang 连接Kafka

标签:解释   rabbitmq   sum   java   ons   性能   png   开源   连接   

原文地址:https://www.cnblogs.com/vincenshen/p/9824486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!