Kafka框架快速入门及异步通知

1、异步通信原理

1.1 观察者模式

在这里插入图片描述

1.2 生产者消费者模式

在这里插入图片描述

1.3 缓冲区

在这里插入图片描述

1.4 数据单元

在这里插入图片描述

2、消息系统原理

一个消息系统负责将数据从一个应用传递到另一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的

2.1 点对点消息传递

在这里插入图片描述

2.2 发布订阅消息传递

在这里插入图片描述

3、Kafka简介

官网:http://kafka.apache.org
在这里插入图片描述

3.1 设计目标

在这里插入图片描述

3.2 Kafka的优点

4、Kafka系统架构

在这里插入图片描述

4.1 Broker

在这里插入图片描述

4.2 Topic

在这里插入图片描述

4.3 Partition

在这里插入图片描述

4.4 Leader

在这里插入图片描述

4.5 Follower

在这里插入图片描述

4.6 replication

在这里插入图片描述

4.7 producer

在这里插入图片描述

4.8 consumer

在这里插入图片描述

4.9 Consumer Group

在这里插入图片描述

4.10 offset偏移量

在这里插入图片描述

4.11 Zookeeper

在这里插入图片描述

5、Kafka环境搭建

Kafka对于zookeeper是强依赖,保存kafka相关的节点数据,所以安装Kafka之前必须先安装zookeeper

  • Docker安装Zookeeper
    下载镜像
docker pull zookeeper:3.4.14

创建容器

docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

Docker安装Kafka

docker pull wurstmeister/kafka:2.12-2.3.1

创建容器

docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.200.130 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.200.130:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.200.130:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--restart always=true
--net=host wurstmeister/kafka:2.12-2.3.1

(1)创建Kafka-demo项目,导入依赖

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
</dependency>

(2)生产者发送消息

package com.heima.kafka.sample;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;

import java.util.Properties;

/**
 * 生产者
 */
public class 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖天才小朱(怀玉)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值