Loading

kafka

1.概述

1.消息中间件

2.介绍

1.概述

一个分布式流媒体平台,类似于消息队列或企业消息传递系统

2.官网

http://kafka.apache.org/

3.名词解释

producer
发布消息的对象称之为主题生产者(Kafka topic producer)

topic
Kafka将消息分门别类,每一类的消息称之为一个主题(Topic)

consumer
订阅消息并处理发布的消息的对象称之为主题消费者(consumers)

broker
已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。

2.kafka安装配置

Kafka是强依赖于Zookeeper
Zookeeper
一个分布式协调组件

1、安装Zookeeper

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

2、安装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

3.SpringBoot集成kafka

1.导入依赖

<dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!-- kafkfa -->
            <dependency>
                <groupId>org.springframework.kafka</groupId>
                <artifactId>spring-kafka</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.kafka</groupId>
                        <artifactId>kafka-clients</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
            </dependency>
        </dependencies>

2.配置文件

server:
  port: 8884
spring:
  application:
    name: kafka-boot-demo
  kafka:
    bootstrap-servers: 192.168.200.130:9092
    producer:
      retries: 10
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    consumer:
      group-id: ${spring.application.name}-test
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
kafka:
  bootstrap-servers: 192.168.200.130:9092
  producer:
  retries: 10
  key-serializer: org.apache.kafka.common.serialization.StringSerializer
  value-serializer: org.apache.kafka.common.serialization.StringSerializer

3.编写生产者

4.编写消费者

posted @ 2024-10-25 19:53  LL。。。  阅读(17)  评论(0)    收藏  举报