赞
踩
Kafka 是一种高性能、分布式、可横向扩展的消息队列系统,主要用于解决大规模数据处理中的数据传输和存储问题。
Kafka 的主要作用包括:
数据传输:在分布式系统中,各个组件之间需要互相通信并传递数据,Kafka 作为中间件可以方便地将生产者产生的消息传递给消费者进行处理。
数据存储:Kafka 可以把生产者产生的消息以队列的形式持久化到磁盘上,并支持数据副本和数据备份等功能,确保数据的可靠性和可恢复性。
实时流处理:Kafka 还可以与流处理框架结合使用,在数据流处理中扮演缓存和消息分发的角色,支持实时计算、实时监控等场景。
数据订阅和分发:Kafka 支持发布-订阅模式,消费者可以通过订阅感兴趣的消息主题来获取生产者产生的消息,并且支持多个消费者对同一个主题进行并行消费。
总之,Kafka 在大数据场景中有着广泛的应用,可以解决数据传输、数据存储、实时流处理等问题,是构建可靠、高效、弹性的分布式系统的重要组件之一。
- <!--SpringBoot Kafka-->
- <dependency>
- <groupId>org.springframework.kafka</groupId>
- <artifactId>spring-kafka</artifactId>
- </dependency>
- spring:
- kafka:
- bootstrap-servers: ruowu.com:9092 #这个是kafka的<IP地址:端口号>
- producer: #生产者配置
- key-serializer: org.apache.kafka.common.serialization.StringSerializer #配置key的序列化器 默认值
- value-serializer: org.apache.kafka.common.serialization.StringSerializer #配置value的序列化器 默认值
- retries: 10 #消息发送失败的时候重试的次数 默认值为0
- compression-type: lz4 #指定消息的压缩类型 默认不压缩
- acks: all #指定producer(生产者)等待broker(消息代理节点)的确认策略 默认值为1 可选值只有0、1、all
- consumer: #消费者配置
- group-id: ${spring.application.name}-test #指定消费者所属的GroupID(分组ID) 默认值为空字符串
- key-deserializer: org.apache.kafka.common.serialization.StringDeserializer #key的反序列化器 默认值
- value-deserializer: org.apache.kafka.common.serialization.StringDeserializer #value的反序列化器 默认值
- enable-auto-commit: false #是否开启自动提交消费位移 默认值为true
- auto-commit-interval: 100 #控制自动提交消费位移的时间间隔 默认值为5000 单位ms
- @Component
- @Slf4j
- public class KafkaProducer {
- @Autowired
- private KafkaTemplate<String,String> kafkaTemplate;
- public void send(){
- ArrayList<String> list = new ArrayList<>();
- list.add("第一个");
- list.add("第二个");
- list.add("第三个");
- kafkaTemplate.send("consumer", JSONObject.toJSONString(list));
- }
- }
- @Component
- @Slf4j
- public class KafkaPerson implements ApplicationRunner {
- @KafkaListener(topics = {"consumer"})
- public void deploy(ConsumerRecord<String,String> record){
- //解析record
- String value = record.value();
- log.info("kafka接收到值了,开始消费了:{}",value);
- List<String> list = JSONObject.parseArray(value, String.class);
- //在这里对传过来的数据进行操作
-
- log.info("现在是结束消费了");
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。