虚拟交易网站开发网站备案照片怎么弄

张小明 2026/1/1 12:09:07
虚拟交易网站开发,网站备案照片怎么弄,小白wordpress必装插件,求邯郸网站制作动态消费的使用场景首先#xff0c;什么是动态消费#xff1f; 简单来讲#xff0c;就是Spring Kafka提供了安全地在运行时调整消费状态的实现#xff0c;可以随时调整消费者的消费状态。 比如暂时停止正在消费消息的消费者的消费#xff0c;等到合适的时机再重新从中断的…动态消费的使用场景首先什么是动态消费 简单来讲就是Spring Kafka提供了安全地在运行时调整消费状态的实现可以随时调整消费者的消费状态。 比如暂时停止正在消费消息的消费者的消费等到合适的时机再重新从中断的地方开始消费。 再比如关闭消费者线程不再消费在执行某些操作如修改消费者参数之后再重新创建消费者并开始消费。下面详细说说。开关降级当一个新功能发布之后还没有正式使用消费线程就没有创建的必要此时KafkaListener注解参数autoStartup false就可以实现。 如果某个功能需要降级也可以销毁消费线程不再注册这个消费者。延迟消费开始消费前需要进行自检、数据准备等操作。 有时候消费消息需要提前检查某些配置或者数据是否已经存在或者当服务启动之后需要异步完成一些资源的初始化才能正常消费。此时可以等待完成准备之后再执行start()方法创建消费线程。限流背压在高峰期由消费者端控制防止系统崩溃使用pause() 暂停拉取消息、resume()恢复拉取消息。参数调整不停机修改消费配置如 groupId、topic使用stop() / start() 重新创建消费者会触发消费者重平衡会重新建立与 Kafka 的连接。SpringKafka消费的实现机制在实现Spring Kafka动态调整消费之前需要先了解Spring Kafka的消费者是如何创建的KafkaListener 用于声明一个方法为Kafka消息监听器。 Spring Kafka 会在应用启动时自动完成以下工作扫描并解析 KafkaListener 注解创建对应的监听端点KafkaListenerEndpoint将端点注册到 KafkaListenerEndpointRegistry使用 KafkaListenerContainerFactory 创建监听容器启动监听容器开始消费消息。详细描述如下Java KafkaListener ↓ 【后处理器PostProcessor】 Spring在启动时会加载一个后处理器[KafkaListenerAnnotationBeanPostProcessor] 负责扫描所有Spring Bean查找带有 KafkaListener 的方法。 ↓ 【监听端点ListenerEndpoint】 创建监听端点[MethodKafkaListenerEndpoint] 负责定义要监听的主题消费组监听方法消息反序列化类型容器工厂名称等。 ↓ 【全局注册表EndpointRegistry】 Processor将Endpoint注册到全局注册表[KafkaListenerEndpointRegistry] 保存所有监听端点管理监听容器的生命周期启动、停止、暂停、恢复提供运行时访问接口。 ↓ 【容器工厂ContainerFactory】 创建监听容器工厂[KafkaListenerContainerFactory] 注册表使用工厂创建实际的监听容器 ↓ 【监听容器ListenerContainer】 拉取消息并调用监听方法[ConcurrentMessageListenerContainer] 根据配置autoStartuptrue自动启动所有监听容器 ↓ KafkaConsumer通过上面的描述我们知道KafkaListenerEndpointRegistry注册表管理者所有容器MessageListenerContainer 接口的实现类保存着所有消费者容器我们可以从消费者容器中获取到我们的消费者。那么MessageListenerContainer提供了哪些方法呢 主要是下面4个pause()暂停拉取消息不释放资源resume()恢复拉取消息不释放资源stop()停止容器可重新启动不释放资源start()启动容器不释放资源这4个方法可以分为两组分别是pause() / resume()stop() / start()如何进行选择下面详细讲解一下它们的差异。pause() / resume()这两个方法是对消费者的轻量级控制暂停或恢复消息拉取不影响容器生命周期。适用场景是临时暂停消费例如下游系统压力过大或实现“背压”机制或动态限流或批量处理控制。pause()暂停拉取消息但保持与 Kafka Broker 的连接不会提交偏移量也不会关闭线程resume()恢复拉取消息继续消费。pause()之后容器仍在运行状态isRunning() true但isContainerPaused() true消费线程仍存在不会触发消费者重平衡恢复后从上次暂停的偏移继续消费。stop() / start()重级控制停止或启动整个监听容器会释放或重建资源。适合场景应用启动时延迟启动消费动态启停某个监听器部署或维护期间临时关闭消费切换消费配置如 groupId、topic。stop()停止容器运行关闭所有 KafkaConsumer释放线程池和资源容器状态变为 isRunning() false。start()重新创建 KafkaConsumer重新订阅主题启动消费线程容器状态变为 isRunning() true。Consumer动态消费实现案例消费者Consumer注解:iniKafkaListener( topics ${spring.kafka.multiple.consumer.mybiz.topics}, concurrency ${spring.kafka.multiple.consumer.mybiz.concurrency}, containerFactory mybizConsumer, id mybizListenerId, // 容器id autoStartup false // 是否自动注册,是true,否false,默认是 )服务启动之后由于 autoStartup false 不会注册消费者。可以通过下面的管理器调整消费状态typescript Service public class KafkaListenerAdjuster { Autowired private KafkaListenerEndpointRegistry registry; // 暂停消费 public void pause(String listenerId) { MessageListenerContainer container registry.getListenerContainer(listenerId); if (container ! null container.isRunning()) { container.pause(); } } // 恢复消费 public void resume(String listenerId) { MessageListenerContainer container registry.getListenerContainer(listenerId); if (container ! null) { container.resume(); } } // 停止消费 public void stop(String listenerId) { MessageListenerContainer container registry.getListenerContainer(listenerId); if (container ! null) { container.stop(); } } // 启动消费 public void start(String listenerId) { MessageListenerContainer container registry.getListenerContainer(listenerId); if (container ! null !container.isRunning()) { container.start(); } } // 动态调整并发数 public void changeConcurrency(String listenerId, int concurrency) { ConcurrentMessageListenerContainer?, ? container (ConcurrentMessageListenerContainer?, ?) registry.getListenerContainer(listenerId); if (container ! null) { container.setConcurrency(concurrency); } } }总结以上的实现在实际项目开发和生产环境可以和分布式配置管理框架或注册中心Spring Cloud Config、Nacos、ZooKeeper、Apollo、Consul等结合通过事件如SpringEvent等进行动态调整。在分布式系统或容器中需要确保每台机器的消费状态都得到了调整。除了动态调整消费状态之外还可以 Spring Kafka 源码的基础之上实现其他能力的动态调整如增加自定义过滤器可以实现消息的过滤消费或者在消息中增加灰度标识等。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

建设银行手机行网站wordpress免费主

二叉搜索树的最近公共祖先:别再蛮力了,用规则思维找“血缘关系” 作者:Echo_Wish 🌱 引子:你以为算法难,有时候只是思路不对 很多刚学数据结构的小伙伴,一看到“最近公共祖先(Lowest Common Ancestor, LCA)”这五个字就头皮发麻: 祖先?我还没 figure out 父节点呢…

张小明 2025/12/22 22:00:59 网站建设

购物网站建设价格一览表潍坊市住房和城乡建设网站

一、函数支持的系统版本SetThreadInformation是 Windows 系统的一个内核相关 API,它的支持情况如下:最低支持的客户端版本:Windows 10 版本 1607(即周年更新版,内部版本 14393)最低支持的服务器版本&#x…

张小明 2025/12/22 21:58:57 网站建设

做网站怎么修改网址怎么在公众号上做网站

RuoYi-Cloud-Plus工作流引擎:企业级流程自动化的智能解决方案 【免费下载链接】RuoYi-Cloud-Plus 微服务管理系统 重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba、Dubbo3.0、Sa-Token、Mybatis-Plus、MQ、Warm-Flow工作流、ES、Docker 全方位升级 定期同步 项…

张小明 2025/12/22 21:57:56 网站建设

电子商务网站建设技巧营销网站与传统网站的区别

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Bash脚本,用于在生产服务器上安全安装NVIDIA驱动。要求:1) 自动检测GPU型号和当前驱动版本;2) 检查X Server运行状态;3) 提供…

张小明 2025/12/22 21:55:53 网站建设

做彩票网站的方案宁波网站推广人

结构简介 假设要存储有关篮球运动员的信息,则可能需要存储他(她)的姓名、工资、身高、体重、平均得分、 命中率、助攻次数等。希望有一种数据格式可以将所有这些信息存储在一个单元中“数组不能完成这项任 务。因为虽然数组可以存储多个元素。…

张小明 2025/12/22 21:54:52 网站建设