原来这才是 Kafka!(多图+深入)

一、kafka概述

1.1、定义

Kakfa是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据的实时处理领域

1.2、消息队列

1.2.1、传统的消息队列&新式的消息队列的模式

上面是传统的消息队列,比如一个用户要注册信息,当用户信息写入数据库后,后面还有一些其他流程,比如发送短信,则需要等这些流程处理完成后,在返回给用户

而新式的队列是,比如一个用户注册信息,数据直接丢进数据库,就直接返回给用户成功

为什么高并发需要用消息队列?

一、消息队列的特性

业务无关,一个具有普适性质的消息队列组件不需要考虑上层的业务模型,只做好消息的分发就可以了,上层业务的不同模块反而需要依赖消息队列所定义的规范进行通信。

FIFO,先投递先到达的保证是一个消息队列和一个buffer的本质区别。

容灾,对于普适的消息队列组件来说,节点的动态增删和消息的持久化,都是支持其容灾能力的重要基本特性。当然,这个特性对于游戏服务器中大部分应用中的消息队列来说不是必须的,这个也是跟应用情景有关的,很多时候没有这种持久化的需求。

性能,这个不必多说了,消息队列的吞吐量上去了,整个系统的内部通信效率也会有提高。

一文搞定 Spring Boot & Kafka 实战(集群安装、配置、启动、案例)

Kafka集群安装、配置和启动

Kafka需要依赖zookeeper,并且自身集成了zookeeper,zookeeper至少需要3个节点保证集群高可用,下面是在单机linux下创建kafka3个节点伪集群模式。

1、下载包

下载地址:http://kafka.apache.org/downloads

2、解压包

tar -zxvf kafka_2.11-1.0.0.tgz\
mv kafka_2.11-1.0.0 kafka1\
mv kafka_2.11-1.0.0 kafka2\
mv kafka_2.11-1.0.0 kafka3

告诉你,Kafka 是个牛逼货!

Kafka简介

Kafka是一种高吞吐量的分布式发布订阅消息系统,是消息中间件的一种。它可以处理消费者规模的网站中的所有动作流数据,它是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。

kafka可用于构建实时数据管道和流应用程序,具有横向扩展、容错、wicked fast(变态快)等优点,并已在成千上万家公司运行。

官网:kafka.apache.org/