一家专业做家谱的网站商标图案设计自动生成

张小明 2026/1/2 22:44:57
一家专业做家谱的网站,商标图案设计自动生成,室内装修设计书籍,wordpress后台被黑回顾完RabbitMQ#xff0c;再跟我一起回顾下Kafka ~一、Kafka介绍1. 什么是Kafka#xff1f;Kafka是由Apache软件基金会开发的分布式流处理平台#xff0c;最初由LinkedIn公司设计#xff0c;现已成为大数据领域核心的消息中间件。它能处理实时数据流#xff0c;支持高吞吐…回顾完RabbitMQ再跟我一起回顾下Kafka ~一、Kafka介绍1. 什么是KafkaKafka是由Apache软件基金会开发的分布式流处理平台最初由LinkedIn公司设计现已成为大数据领域核心的消息中间件。它能处理实时数据流支持高吞吐、低延迟、可扩展的消息传递广泛用于日志收集、实时分析、事件驱动架构等场景。2. 核心特点高吞吐单机可支持百万级消息/秒通过分区并行处理实现。持久化消息持久化到磁盘支持TB级数据存储默认保留7天。分布式集群由多个Broker服务器组成支持水平扩展。多订阅者一个Topic的消息可被多个消费者组独立消费广播/负载均衡。二、Kafka架构与核心组件1. 核心组件组件 作用Broker Kafka服务器节点存储Topic数据每个Broker有唯一IDbroker.id。Topic 消息的逻辑分类如order-topic类似“消息频道”包含多个Partition。Partition Topic的物理分片有序日志文件分布式存储的基本单位每个Partition有Leader和Follower副本。Producer 发送消息到Topic的客户端如订单服务。Consumer 从Topic订阅消息的客户端如库存服务。Consumer Group 消费者组组内多个消费者负载均衡消费Partition组间独立消费广播。2. 架构图MermaidKafka Cluster发送消息分区存储分区存储同步数据负载均衡消费协调协调协调管理消费者组Broker 1broker.id0• TopicA-Partition0 Leader• TopicB-Partition1 FollowerBroker 2broker.id1• TopicA-Partition1 Leader• TopicB-Partition0 LeaderBroker 3broker.id2• TopicA-Partition0 FollowerZooKeeper集群协调存储元数据Producer发送消息到TopicConsumer Group组内负载均衡消费TopicA• Partition0• Partition1三、消息流转完整路径生产者→消费者1. 流转步骤生产者发送消息生产者指定Topic和Key可选通过分区器将消息分配到Partition默认按Key哈希。Broker存储消息Leader副本接收消息并写入磁盘Segment文件Follower副本同步数据。消费者组分配Partition消费者组启动时协调者Coordinator将Topic的Partition分配给组内消费者一个Partition仅被一个消费者消费。消费者拉取消息消费者定期拉取Poll分配到的Partition消息处理后提交偏移量Offset。2. 消息流转图示MermaidConsumer (Group)Broker (Follower)Broker (Leader)ProducerConsumer (Group)Broker (Follower)Broker (Leader)Producer1. 生产者发送消息2. 消费者拉取消息发送消息到Topic-Partition0 (Key: order-1)写入本地日志 (LEO100)同步消息 (LEO100)确认同步 (LEO100)返回ACK (消息提交成功)Poll请求 (获取Partition0消息)返回消息 (Offset99, Value订单数据)处理消息 (扣减库存)提交偏移量 (Offset100)四、Kafka安装ZooKeeper传统模式CentOS 71. 环境准备CentOS 7系统关闭防火墙或开放端口2181、9092systemctl stop firewalld systemctl disable firewalld安装JDK 8yum install java-1.8.0-openjdk-devel -y2. 安装ZooKeeperKafka依赖步骤1下载并解压wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gztar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/mv /opt/apache-zookeeper-3.7.1-bin /opt/zookeeper步骤2配置ZooKeepercd /opt/zookeeper/confcp zoo_sample.cfg zoo.cfgvim zoo.cfg # 修改以下配置dataDir/var/lib/zookeeper # 数据存储目录clientPort2181 # 客户端端口步骤3启动ZooKeepermkdir -p /var/lib/zookeeper/opt/zookeeper/bin/zkServer.sh start # 启动/opt/zookeeper/bin/zkServer.sh status # 查看状态显示Mode: standalone为成功3. 安装Kafka Broker步骤1下载并解压wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgztar -zxvf kafka_2.13-3.6.0.tgz -C /opt/mv /opt/kafka_2.13-3.6.0 /opt/kafka步骤2配置Kafkacd /opt/kafka/configvim server.properties # 修改以下配置# 核心配置broker.id0 # 当前Broker唯一ID集群中不可重复listenersPLAINTEXT://localhost:9092 # 监听地址本地测试用localhostlog.dirs/var/lib/kafka/logs # 消息存储目录zookeeper.connectlocalhost:2181/kafka # 连接ZooKeeper/kafka为根节点步骤3启动Kafkamkdir -p /var/lib/kafka/logs/opt/kafka/bin/kafka-server-start.sh -daemon config/server.properties # 后台启动jps # 查看进程显示Kafka为成功4. 创建Topic测试用/opt/kafka/bin/kafka-topics.sh --create \--topic order-topic \ # 主题名称--bootstrap-server localhost:9092 \ # Kafka地址--partitions 3 \ # 分区数建议≥3--replication-factor 1 # 副本数单节点只能设1五、Spring Boot保姆级案例生产者消费者1. 项目结构src/main/java/com/example/kafkademo/├── KafkaDemoApplication.java # 启动类├── model/Order.java # 订单实体类├── producer/OrderProducer.java # 生产者服务├── consumer/OrderConsumer.java # 消费者服务└── controller/OrderController.java # 测试接口src/main/resources/└── application.yml # 配置文件2. pom.xml依赖?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.15/version !-- Spring Boot 2.7.x稳定版 --relativePath//parentgroupIdcom.example/groupIdartifactIdkafka-demo/artifactIdversion0.0.1-SNAPSHOT/versionnamekafka-demo/namedependencies!-- Web依赖提供HTTP接口 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- Kafka依赖 --dependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka/artifactId/dependency!-- Lombok简化实体类 --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project3. application.yml配置server:port: 8080 # 应用端口spring:application:name: kafka-demo # 应用名称kafka:bootstrap-servers: localhost:9092 # Kafka集群地址多个用逗号分隔# 生产者配置producer:key-serializer: org.apache.kafka.common.serialization.StringSerializer # Key序列化器字符串value-serializer: org.springframework.kafka.support.serialization.JsonSerializer # Value序列化器JSONacks: all # 消息确认级别all所有ISR副本确认最高可靠性retries: 3 # 发送失败重试次数enable-idempotence: true # 启用幂等性防重复消息# 消费者配置consumer:group-id: order-group # 消费者组ID同一组内负载均衡key-deserializer: org.apache.kafka.common.serialization.StringDeserializer # Key反序列化器value-deserializer: org.springframework.kafka.support.serialization.JsonDeserializer # Value反序列化器auto-offset-reset: earliest # 无偏移量时策略earliest从头消费enable-auto-commit: false # 关闭自动提交偏移量手动控制properties:spring.json.trusted.packages: com.example.kafkademo.model # 信任的实体类包JSON反序列化用# 监听器配置消费者listener:ack-mode: manual_immediate # 手动立即提交偏移量处理完一条提交一条concurrency: 3 # 并发消费者数建议Topic分区数此处3分区4. 实体类Order.javapackage com.example.kafkademo.model;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.math.BigDecimal;/*** 订单实体类消息载体*/Data // Lombok注解自动生成getter/setter/toString等NoArgsConstructor // 无参构造AllArgsConstructor // 全参构造public class Order {private String orderId; // 订单IDprivate String productName; // 商品名称private BigDecimal amount; // 订单金额private String status; // 订单状态CREATED/PAID/SHIPPED}5. 生产者服务OrderProducer.javapackage com.example.kafkademo.producer;import com.example.kafkademo.model.Order;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.kafka.core.KafkaTemplate;import org.springframework.kafka.support.SendResult;import org.springframework.stereotype.Service;import org.springframework.util.concurrent.ListenableFuture;import org.springframework.util.concurrent.ListenableFutureCallback;import java.math.BigDecimal;import java.util.UUID;/*** 订单生产者服务发送订单消息到Kafka*/Service // 标记为Spring服务组件Slf4j // Lombok日志注解public class OrderProducer {// 注入KafkaTemplateSpring Boot自动配置用于发送消息Autowiredprivate KafkaTemplateString, Order kafkaTemplate;private static final String TOPIC_NAME order-topic; // 目标Topic名称需与消费者一致/*** 发送订单消息* param order 订单对象若为null则自动生成测试订单*/public void sendOrder(Order order) {// 1. 若订单ID为空生成UUID作为订单IDif (order null) {order new Order();order.setOrderId(UUID.randomUUID().toString()); // 随机生成订单ID
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

深圳高端品牌网站建设长治做网站多少钱

练习最大的收获就是先进行模仿,在发现问题,解决问题,最后掌握! 上一篇文章题目:Python基础(3):数据类型转换和Python运算符---详解 链接:https://blog.csdn.net/2501_9…

张小明 2025/12/25 20:45:46 网站建设

旅游网站建设开题报告asp网站镜像代码

LangFlow中的缓存机制是否存在?减少重复请求开销 在构建AI应用的实践中,一个看似微不足道却频繁出现的问题是:为什么我两次输入完全相同的问题,系统还要重新调用大模型、再次计费、再次等待响应? 尤其是在使用像 Lan…

张小明 2025/12/25 20:43:44 网站建设

网站维护要做哪些工作网络推广软件工具

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2025/12/25 20:41:43 网站建设

重庆制作网站速成班沈阳男科私立医院

终极快速上手:Mobaxterm-Chinese中文版远程终端工具完整指南 【免费下载链接】Mobaxterm-Chinese Mobaxterm simplified Chinese version. Mobaxterm 的简体中文版. 项目地址: https://gitcode.com/gh_mirrors/mo/Mobaxterm-Chinese 还在为管理多台服务器而手…

张小明 2025/12/25 20:39:41 网站建设

网站建设的流程该怎么确定温江做网站公司

Minecraft服务器安全防护终极指南:AuthMeReloaded完整解决方案 【免费下载链接】AuthMeReloaded The best authentication plugin for the Bukkit/Spigot API! 项目地址: https://gitcode.com/gh_mirrors/au/AuthMeReloaded 在Minecraft服务器的运营过程中&a…

张小明 2025/12/25 20:35:38 网站建设

国外html5网站个人域名备案有什么风险

摘要: 纸上得来终觉浅,绝知此事要躬行。看懂了论文公式,不代表能写对代码。在 Offline RL 中,数据处理的细节、网络初始化的技巧以及Loss 的计算顺序,往往比算法原理本身更能决定成败。本文将带你从零构建一个完整的 I…

张小明 2025/12/25 20:33:35 网站建设