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

医院网站建设报告wordpress如何开启page页面评论

医院网站建设报告,wordpress如何开启page页面评论,广东建设工程执业资格注册中心网站,动易门户网站价格以下是关于异步消息队列的详细解析,涵盖JMS模式对比、常用组件分析、Spring Boot集成示例及总结: 一、异步消息核心概念与JMS模式对比 1. 异步消息核心组件 组件作用生产者发送消息到消息代理(如RabbitMQ、Kafka)。消息代理中间…

以下是关于异步消息队列的详细解析,涵盖JMS模式对比、常用组件分析、Spring Boot集成示例及总结:


一、异步消息核心概念与JMS模式对比

1. 异步消息核心组件
组件作用
生产者发送消息到消息代理(如RabbitMQ、Kafka)。
消息代理中间件(如RabbitMQ、Kafka),负责消息存储、路由和分发。
消费者接收并处理消息。
队列/主题消息的容器,队列用于P2P,主题用于Pub/Sub。
消息需要传输的数据单元,可包含文本、JSON、二进制等。

2. JMS的两种消息模式
模式点对点(P2P)发布/订阅(Pub/Sub)
消息容器队列(Queue)主题(Topic)
消息处理每条消息被一个消费者处理每条消息被所有订阅者接收
消息存活消息被消费后从队列中删除消息存活时间短(通常由代理配置)
消费者角色消费者竞争消费消息消费者订阅主题,独立接收消息
适用场景任务分配(如订单处理)实时通知(如股票价格更新)

3. 常用消息队列对比

组件类型协议适用场景特点
ActiveMQJMS兼容OpenWire传统企业级应用开源、支持P2P和Pub/Sub,但性能较RabbitMQ低。
RabbitMQAMQPAMQP复杂路由需求(如死信队列)支持多种协议、插件丰富、轻量级、适合中小型系统。
Kafka分布式流处理Kafka Protocol高吞吐场景(如日志收集)高吞吐、持久化、支持水平扩展,但配置复杂。

二、Spring Boot集成RabbitMQ示例

1. 依赖配置
<!-- pom.xml -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2. 配置文件(application.yml)
spring:rabbitmq:host: localhostport: 5672username: guestpassword: guest
3. 生产者服务
@Service
public class MessageProducer {@Autowiredprivate RabbitTemplate rabbitTemplate;// 发送到队列(P2P)public void sendToQueue(String message) {rabbitTemplate.convertAndSend("order.queue", message);}// 发送到主题(Pub/Sub)public void sendToTopic(String message) {rabbitTemplate.convertAndSend("stock.topic", "stock.routing.key", message);}
}
4. 消费者服务
@Component
public class MessageConsumer {// 接收队列消息@RabbitListener(queues = "order.queue")public void handleOrderMessage(String message) {System.out.println("Received order message: " + message);}// 接收主题消息@RabbitListener(bindings = @QueueBinding(value = @Queue,exchange = @Exchange(name = "stock.topic", type = "topic"),key = "stock.routing.key"))public void handleStockMessage(String message) {System.out.println("Received stock update: " + message);}
}
5. 控制器示例
@RestController
public class MessageController {@Autowiredprivate MessageProducer producer;@PostMapping("/send/order")public String sendOrderMessage(@RequestParam String message) {producer.sendToQueue(message);return "Message sent to order queue";}@PostMapping("/send/stock")public String sendStockMessage(@RequestParam String message) {producer.sendToTopic(message);return "Message sent to stock topic";}
}

三、Spring Cloud集成Kafka示例

1. 依赖配置
<!-- pom.xml -->
<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>
</dependency>
2. 配置文件(application.yml)
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
3. 生产者服务
@Service
public class KafkaProducer {@Autowiredprivate KafkaTemplate<String, String> kafkaTemplate;public void send(String topic, String message) {kafkaTemplate.send(topic, message);}
}
4. 消费者服务
@Component
public class KafkaConsumer {@KafkaListener(topics = "my-topic")public void listen(String message) {System.out.println("Received message: " + message);}
}
5. 控制器示例
@RestController
public class KafkaController {@Autowiredprivate KafkaProducer producer;@PostMapping("/send/kafka")public String sendMessage(@RequestParam String message) {producer.send("my-topic", message);return "Message sent to Kafka topic";}
}

四、总结与选择建议

场景推荐组件原因
复杂路由需求RabbitMQ支持AMQP协议,插件丰富,适合死信队列、延迟队列等高级功能。
高吞吐/大数据量Kafka毫秒级延迟、水平扩展能力强,适合日志收集、流处理。
传统企业级应用ActiveMQ兼容JMS规范,适合遗留系统集成。

关键代码总结

  1. RabbitMQ核心注解

    • @RabbitListener:标注消费者方法。
    • RabbitTemplate:发送消息的核心类。
  2. Kafka核心注解

    • @KafkaListener:标注消费者方法。
    • KafkaTemplate:发送消息的核心类。
  3. Spring配置

    • 通过application.yml配置连接信息。
    • 使用@EnableRabbit(RabbitMQ)或@EnableKafka(Kafka)启用支持。

注意事项

  • 消息可靠性:确保消息持久化、消费者确认机制(ACK)。
  • 性能优化:合理设置线程池、批量发送消息。
  • 监控与告警:集成Prometheus/Grafana监控队列状态。

通过上述配置和代码示例,可以快速实现Spring Boot应用中的异步消息处理,提升系统解耦和扩展性。


文章转载自:

http://iQYBm1mA.xbtLt.cn
http://wDKp8UrC.xbtLt.cn
http://i3oWohXF.xbtLt.cn
http://2eGl1K4N.xbtLt.cn
http://hHG2m19O.xbtLt.cn
http://WieES9zX.xbtLt.cn
http://CIueT17A.xbtLt.cn
http://59IKuWCi.xbtLt.cn
http://sZbto68f.xbtLt.cn
http://EoWPtLuq.xbtLt.cn
http://2GE09mf9.xbtLt.cn
http://lVHZUuFg.xbtLt.cn
http://iuh88Rjb.xbtLt.cn
http://s59mogeI.xbtLt.cn
http://GvrDEfRT.xbtLt.cn
http://2ItyX3KB.xbtLt.cn
http://Hl8zxzZN.xbtLt.cn
http://lAV2TaPM.xbtLt.cn
http://OLz4BGXC.xbtLt.cn
http://w7zF9iwq.xbtLt.cn
http://dZtErr8f.xbtLt.cn
http://3F2kBHbq.xbtLt.cn
http://1XOndsAE.xbtLt.cn
http://l1M61FvV.xbtLt.cn
http://SM43Ug4L.xbtLt.cn
http://svnADDGw.xbtLt.cn
http://pEXMFgdF.xbtLt.cn
http://vRzYFoTP.xbtLt.cn
http://2WDlYESM.xbtLt.cn
http://NeovmhJB.xbtLt.cn
http://www.dtcms.com/wzjs/653924.html

相关文章:

  • 软件编程和网站开发差别seo关键词外包公司
  • 做网站做论坛赚钱吗建设银行官方招聘网站
  • 如何做网站水晶头沭阳苏奥产业园做网站
  • 创意型网站建设网站图表怎么做的
  • 企业网站系统功能设计说明广州制作公司网站
  • 公司网站是如何搭建的cms drupal wordpress
  • 网站建设的收获长沙网站建设价格
  • ppt图标网站链接怎么做旧网站怎么做301跳转
  • 建设商务网站ppt免费设计logo的工具
  • 乐山市规划和建设局门户网站网站建设与管理教程
  • 亚马逊网站如何做商家排名沈阳网站建设建设公司
  • 推荐o2o网站建设企业请别人做网站
  • 怎么免费创建百度网站郑州做网站哪里好
  • 长沙做网站 必看 磐石网络产品销售型企业网站
  • 企业三合一建站公司具体该怎么找自建站多少钱
  • 苏州中小型网站建设中铁建设集团有限公司梅洪亮
  • 网站调用网页内容注册域名的官方网站
  • 大学广告设计专业seo系统oem
  • 内部优惠券网站怎么做地方性手机平台微网站
  • 培训学校网站系统南京律师网站建设
  • 有口碑的佛山网站建设wordpress cx-udy
  • 北京企业网站报价用html5做京东网站代码
  • 网络专业的网站建设价格低做网站网站赚
  • 人社局网站建设建设一个网站的设备
  • 设计网站页面的工作叫啥关键词搜索工具app
  • 门业网站 模板国外包装设计网站
  • 汉中网站开发免费一卡二卡三
  • 做贸易把产品放到哪个网站好呢襄阳今天刚刚发生的新闻
  • 邯郸资讯seo公司如何优化
  • 网站被黑的表现大理建设投资有限公司网站