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

建设网站花多少钱高端网页设计人才

建设网站花多少钱,高端网页设计人才,wordpress 批量修改字体,游戏门户网站有哪些[Java实战]Spring Boot整合Kafka#xff1a;高吞吐量消息系统实战#xff08;二十七#xff09; 一、引言 Apache Kafka作为一款高吞吐量、低延迟的分布式消息队列系统#xff0c;广泛应用于实时数据处理、日志收集和事件驱动架构。结合Spring Boot的自动化配置能力…[Java实战]Spring Boot整合Kafka高吞吐量消息系统实战二十七 一、引言 Apache Kafka作为一款高吞吐量、低延迟的分布式消息队列系统广泛应用于实时数据处理、日志收集和事件驱动架构。结合Spring Boot的自动化配置能力可以快速搭建高性能消息系统。本文将从环境搭建、代码实现、原理分析到测试优化全面解析Spring Boot与Kafka的整合实践。 二、环境准备 1. Kafka安装与启动 下载Kafka从Apache Kafka官网下载最新版本推荐3.x。启动ZookeeperKafka依赖bin/zookeeper-server-start.sh config/zookeeper.properties启动Kafka服务bin/kafka-server-start.sh config/server.properties2. 创建Topic bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1说明手动创建Topic可指定分区数如3提升并发处理能力。 三、环境准备(docker) 1. 使用Docker快速启动Kafka 通过Docker可以快速部署Kafka服务无需手动安装依赖步骤如下 创建docker-compose.yml文件 在项目根目录下新建文件内容如下version: 3 services:zookeeper:image: docker.1ms.run/confluentinc/cp-zookeeper:7.4.0ports:- 2181:2181environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000kafka:image: docker.1ms.run/confluentinc/cp-kafka:7.4.0ports:- 9092:9092environment:KAFKA_BROKER_ID: 1KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.231.132:9092KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1KAFKA_AUTO_CREATE_TOPICS_ENABLE: false # 禁止自动创建Topicdepends_on:- zookeeper关键配置说明 KAFKA_ADVERTISED_LISTENERS: 确保客户端能通过localhost:9092访问Kafka。 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 设为false避免自动创建Topic推荐手动控制。 启动Kafka服务 执行以下命令启动服务docker-compose up -d#停掉 #docker-compose down2. 创建Topic 通过Docker执行命令创建Topic docker exec -it kafka-kafka-1 kafka-topics --create --topic my-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1注意 kafka-kafka-1为容器名称根据实际名称调整。--partitions 3指定分区数提升并发处理能力。 3.安装成功截图 四、Spring Boot项目搭建 1. 添加依赖 在pom.xml中引入Spring Kafka dependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka/artifactId /dependency2. 配置文件 application.yml配置Kafka连接及序列化方式 spring:kafka:bootstrap-servers: localhost:9092producer:key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializerconsumer:group-id: my-groupauto-offset-reset: earliestkey-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializer关键参数auto-offset-reset: earliest确保消费者从最早消息开始消费。 五、代码实现 1. 生产者配置 Service public class KafkaProducer {Autowiredprivate KafkaTemplateString, String kafkaTemplate;// 发送消息支持回调public void sendMessage(String topic, String message) {ListenableFutureSendResultString, String future kafkaTemplate.send(topic, message);future.addCallback(result - {System.out.println(发送成功: result.getRecordMetadata().offset());}, ex - {System.out.println(发送失败: ex.getMessage());});} }高级特性回调机制可监控消息发送状态。 2. 消费者配置 Service public class KafkaConsumer {KafkaListener(topics my-topic, groupId my-group)public void consume(String message) {System.out.println(接收到消息: message);// 业务处理逻辑} }批量消费通过设置spring.kafka.consumer.max-poll-records可支持批量处理。 3.测试结果 KafkaController编写 RestController public class KafkaController {Autowiredprivate KafkaProducerService kafkaProducer;PostMapping(/send)public ResponseEntityString sendMs(RequestBody String request) {kafkaProducer.sendMessage(my-topic,你好);return ResponseEntity.ok(ok);} }测试结果 六、原理分析 1. Spring Kafka核心组件 KafkaTemplate封装生产者操作支持异步发送和事务管理。KafkaListener基于监听器模式自动创建消费者并订阅Topic。ConsumerFactory/ProducerFactory工厂类管理Kafka客户端配置。 2. 高吞吐量优化 生产者端调整batch.size批次大小和linger.ms等待时间提升批量发送效率。消费者端增加分区数、配置多线程消费ConcurrentKafkaListenerContainerFactory。 七、高级特性 1. 自定义分区策略 实现Partitioner接口指定消息路由规则 public class CustomPartitioner implements Partitioner {Overridepublic int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) {// 自定义分区逻辑如按Key哈希return key.hashCode() % cluster.partitionCountForTopic(topic);} }配置文件中指定分区器 spring:kafka:producer:properties:partitioner.class: com.example.CustomPartitioner2. 事务支持 通过KafkaTransactionManager实现事务消息 Autowired private KafkaTemplateString, String kafkaTemplate;public void sendInTransaction() {kafkaTemplate.executeInTransaction(operations - {operations.send(topic1, Message1);operations.send(topic2, Message2);return null;}); }八、测试步骤 1. 单元测试使用嵌入式Kafka 添加测试依赖 dependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka-test/artifactIdscopetest/scope /dependency编写测试类 SpringBootTest EmbeddedKafka(topics test-topic) public class KafkaTest {Autowiredprivate KafkaTemplateString, String kafkaTemplate;Testpublic void testSendAndReceive() {kafkaTemplate.send(test-topic, Hello Kafka);// 通过监听器验证消息接收} }说明嵌入式Kafka无需外部服务适合CI/CD环境。 九、总结 本文从环境搭建到代码实现结合Spring Boot与Kafka的高吞吐量特性实现了消息系统的快速开发。通过自定义分区、事务支持和批量消费等高级功能可进一步优化系统性能。实际应用中需根据业务场景调整参数并借助监控工具如Kafka Manager持续优化。 参考文档 Spring Kafka官方文档Apache Kafka架构解析 希望本教程对您有帮助请点赞❤️收藏⭐关注支持欢迎在评论区留言交流技术细节
http://www.pierceye.com/news/653002/

相关文章:

  • 杭州做商务网站全屋定制自己设计
  • 汉中定制网站建设公司南昌公司注册
  • 商务网站建设流程步骤小型公司注册资金写多少合适
  • 台州公司网站外包自己做网站运营
  • 聚名网站专业团队p图
  • 网站推广排名收费徐家汇网站建设
  • 做app软件大概多少钱宁波seo优化项目
  • 网站建设土豆视频教程最专业微网站首选公司
  • 合肥做检查军大网站家装公司名称
  • 网站搜索怎么做的苏州网站建设介绍
  • 免费微网站建设地图标注收费属于违法行为吗
  • 网站开发工程师php岗位职责企业网站案例展示
  • 青岛网站营销推广网站工作室设计
  • 网站可以增加关键词吗做网站也是一门技术
  • 长沙 外贸网站建设公司排名传统文化传播公司网站建设
  • 站群seo技巧1 企业网站的一般内容是什么
  • 广东省城乡建设厅投诉网站首页wordpress posts
  • 泰安建设厅网站怎样给公司做一个网站
  • 扶贫网站开发的目的是什么2023年舆情分析报告
  • 河南建设银行处理违章网站网站做支付需要准备什么东西吗
  • 网站设置不能通过链接访问比较好的源码网站
  • 深圳做网站联雅空间业务建设网站
  • 合肥企业网站设计制作莱芜杂谈 莱芜话题
  • 大圣网站建设为什么不推荐大家去外包公司
  • 做网站手机版wordpress如何换成经典编辑器
  • 建设网站的知识企业做网站设计的
  • 西安网站排名分析软文营销把什么放在第一位
  • 织梦手机网站模板删除不了宁波网站建设服务商
  • 深圳网站建设最专业网站seo技术
  • 定制网站开发一般多少钱郑州哪家公司做网站好