当前位置: 首页 > news >正文

php不用框架怎么做网站电脑培训课程

php不用框架怎么做网站,电脑培训课程,自己的公网ip可以做网站,网站开发建设流程图Kafka介绍 Apache Kafka是一个分布式流处理平台。它最初由LinkedIn开发,后来成为Apache软件基金会的一部分,并在开源社区中得到了广泛应用。Kafka的核心概念包括Producer、Consumer、Broker、Topic、Partition和Offset。 Producer:生产者&a…

Kafka介绍

Apache Kafka是一个分布式流处理平台。它最初由LinkedIn开发,后来成为Apache软件基金会的一部分,并在开源社区中得到了广泛应用。Kafka的核心概念包括Producer、Consumer、Broker、Topic、Partition和Offset。

  • Producer:生产者,负责将数据发送到Kafka集群。
  • Consumer:消费者,从Kafka集群中读取数据。
  • Broker:Kafka服务器实例,Kafka集群通常由多个Broker组成。
  • Topic:主题,数据按主题进行分类。
  • Partition:分区,每个主题可以有多个分区,用于实现并行处理和提高吞吐量。
  • Offset:偏移量,每个消息在其分区中的唯一标识。

使用场景

Kafka适用于以下场景:

  1. 日志收集:集中收集系统日志和应用日志,通过Kafka传输到大数据处理系统。
  2. 消息队列:作为高吞吐量、低延迟的消息队列系统。
  3. 数据流处理:实时处理数据流,用于实时分析、监控和处理。
  4. 事件源架构:将所有的变更事件存储在Kafka中,实现事件溯源和回放。
  5. 流数据管道:构建数据管道,连接数据源和数据存储系统。

Spring Boot整合Kafka 

项目结构

springboot-kafka
│
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com.example.kafka
│   │   │       ├── KafkaApplication.java
│   │   │       ├── config
│   │   │       │   └── KafkaConfig.java
│   │   │       ├── producer
│   │   │       │   └── KafkaProducer.java
│   │   │       ├── consumer
│   │   │       │   └── KafkaConsumer.java
│   │   │       └── controller
│   │   │           └── KafkaController.java
│   │   └── resources
│   │       ├── application.yml
│   │       └── logback-spring.xml (可选)
│   └── test
│       └── java
│           └── com.example.kafka
│               └── KafkaApplicationTests.java
└── pom.xml

1. 创建Spring Boot项目并添加依赖

pom.xml
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-kafka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>

2. 配置Kafka

application.yml
spring:kafka:bootstrap-servers: localhost:9092consumer:group-id: my-groupauto-offset-reset: earliestkey-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializerproducer:key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializer

3. 创建Kafka配置类

KafkaConfig.java
package com.example.kafka.config;import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class KafkaConfig {@Beanpublic NewTopic myTopic() {return new NewTopic("my-topic", 1, (short) 1);}
}

4. 创建Kafka生产者

KafkaProducer.java
package com.example.kafka.producer;import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Service;@Service
public class KafkaProducer {private final KafkaTemplate<String, String> kafkaTemplate;public KafkaProducer(KafkaTemplate<String, String> kafkaTemplate) {this.kafkaTemplate = kafkaTemplate;}public void sendMessage(String topic, String message) {kafkaTemplate.send(topic, message);}
}

5. 创建Kafka消费者

KafkaConsumer.java
package com.example.kafka.consumer;import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Service;@Service
public class KafkaConsumer {@KafkaListener(topics = "my-topic", groupId = "my-group")public void listen(String message) {System.out.println("Received message: " + message);}
}

6. 创建控制器发送消息

KafkaController.java
package com.example.kafka.controller;import com.example.kafka.producer.KafkaProducer;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
public class KafkaController {private final KafkaProducer kafkaProducer;public KafkaController(KafkaProducer kafkaProducer) {this.kafkaProducer = kafkaProducer;}@GetMapping("/send")public String sendMessage(@RequestParam String message) {kafkaProducer.sendMessage("my-topic", message);return "Message sent";}
}

7. 创建Spring Boot主类

KafkaApplication.java
package com.example.kafka;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class KafkaApplication {public static void main(String[] args) {SpringApplication.run(KafkaApplication.class, args);}
}

8. 测试应用

通过访问以下URL来发送消息:

http://localhost:8080/send?message=HelloKafka

9. 日志配置(可选)

为了更好地查看Kafka的日志,可以添加logback-spring.xml配置:

logback-spring.xml
<configuration><springProfile name="default"><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern></encoder></appender><logger name="org.apache.kafka" level="INFO"/><root level="INFO"><appender-ref ref="STDOUT"/></root></springProfile>
</configuration>

10. 测试类(可选)

KafkaApplicationTests.java
package com.example.kafka;import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class KafkaApplicationTests {@Testvoid contextLoads() {}
}

至此,你已经完成了Spring Boot整合Kafka的详细配置和代码示例。你可以根据实际需求进一步扩展和修改这个基础代码。

http://www.hrbkazy.com/news/43573.html

相关文章:

  • 淘宝客api同步到网站软文的本质是什么
  • 自己做的网站怎么添加文档微商怎么引流被加精准粉
  • 企业做网站建设遇到的问题市场监督管理局官网
  • 做最简单的网站商丘关键词优化推广
  • 长春餐饮网站建设2024年重大政治时事汇总
  • 深圳做网站d公司网络舆情监测系统
  • 国内服装电商平台厦门seo报价
  • 营销网站建设案例软件推广平台有哪些
  • 怎么做电影流量网站吗百度推广二级代理商
  • 做我的世界的mod的网站重庆seo网站管理
  • 空间商网站网站seo技术能不能赚钱
  • 学做烘焙的网站seo外链购买
  • 广东手机网站建设公司seo每日工作内容
  • 高端网站建设价钱汕头百度推广公司
  • 免费的分销小程序优化网站建设
  • 新手学易语言多久可以做网站域名批量查询系统
  • 东营网站建设长尾关键词挖掘工具爱网站
  • 打开网站建设中是什么意思福建seo
  • 全国特种作业人员证查询系统搜索引擎优化怎么做
  • 自己给公司做网站广州关于进一步优化疫情防控措施
  • 海南州建设厅官方网站游戏推广代理app
  • 超市网站建设策划书网络营销常用的工具有哪些
  • 单页网站是什么样子的快速建站哪个平台好
  • 做软装找图片的网站百度seo怎么把关键词优化上去
  • 湖南做网站最厉害的公司关键词数据分析工具有哪些
  • 四川建设网站信息查询中心建站公司
  • 网上接单做网站小程序开发制作
  • 网站开发费怎么做账微信管理
  • 驻马店做网站公司广州网站优化平台
  • 学校资源门户网站建设方案百度云搜索引擎入口盘搜搜