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

永久免费的网站如何在网站中做二级下拉菜单

永久免费的网站,如何在网站中做二级下拉菜单,wordpress电影资源网站,旅游营销型网站建设1. RocketMQ 简介 RocketMQ 是阿里巴巴开源的一款分布式消息队列,具有高吞吐量、低延迟、可靠性等特点,广泛应用于金融、电商、物联网等领域。 RocketMQ 的核心特性: 高可靠性:支持消息存储、重复消费、失败重试等高可用性&…

1. RocketMQ 简介

RocketMQ 是阿里巴巴开源的一款分布式消息队列,具有高吞吐量、低延迟、可靠性等特点,广泛应用于金融、电商、物联网等领域。

  • RocketMQ 的核心特性:
    • 高可靠性:支持消息存储、重复消费、失败重试等
    • 高可用性:分布式架构,支持主从复制
    • 高性能:高吞吐量、低延迟

2. 引入依赖

首先,在 Spring Boot 项目 中引入 RocketMQ 和 Spring Cloud Alibaba 的依赖。

2.1 配置依赖

pom.xml 中添加以下依赖:

<dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- Spring Cloud Alibaba RocketMQ --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-rocketmq</artifactId></dependency><!-- Spring Cloud Alibaba --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba</artifactId></dependency>
</dependencies>

2.2 配置 RocketMQ

application.yml 中配置 RocketMQ 连接信息:

spring:cloud:alibaba:rocketmq:name-server: 127.0.0.1:9876  # RocketMQ NameServer 地址producer:group: my-producer-group   # 生产者组consumer:group: my-consumer-group   # 消费者组

3. 生产者代码实现

3.1 创建消息生产者

我们可以通过注解 @RocketMQMessageListener 来创建 RocketMQ 生产者,消息可以通过 @Value 传递或直接通过 Bean 注入。

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class RocketMQProducer {@Autowiredprivate RocketMQTemplate rocketMQTemplate;// 发送普通消息public void sendMessage(String topic, String message) {rocketMQTemplate.convertAndSend(topic, message);}
}

3.2 发送消息

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ProducerController {@Autowiredprivate RocketMQProducer rocketMQProducer;@GetMapping("/send")public String sendMessage() {String message = "Hello, RocketMQ!";rocketMQProducer.sendMessage("my-topic", message);return "Message sent: " + message;}
}

访问 http://localhost:8080/send 发送消息,RocketMQ 将开始处理消息。


4. 消费者代码实现

4.1 创建消息消费者

在消费者端,我们需要创建一个消息监听器,利用 @RocketMQMessageListener 注解监听 RocketMQ 消息。

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.stereotype.Service;@Service
@RocketMQMessageListener(topic = "my-topic", consumerGroup = "my-consumer-group")
public class RocketMQConsumer {@org.springframework.messaging.handler.annotation.MessageMappingpublic void listen(String message) {System.out.println("Received message: " + message);}
}

4.2 消费消息

每次生产者发送的消息,消费者都会通过 listen 方法进行接收。控制台会打印出收到的消息。


5. 顺序消息

RocketMQ 支持顺序消息,可以通过设置 MessageQueueSelector 来保证消息的顺序性。

5.1 发送顺序消息

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.apache.rocketmq.spring.support.RocketMQMessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class OrderProducer {@Autowiredprivate RocketMQTemplate rocketMQTemplate;// 发送顺序消息public void sendOrderedMessage(String topic, String message, int orderId) {rocketMQTemplate.convertAndSend(topic, message, new MessageQueueSelector() {@Overridepublic MessageQueue select(List<MessageQueue> mqs, Message msg, Object arg) {// 根据orderId选择队列return mqs.get(orderId % mqs.size());}}, orderId);}
}

5.2 接收顺序消息

顺序消息的消费逻辑和普通消息相似,只不过要保证顺序消息的消费顺序。


6. 事务消息

RocketMQ 提供了事务消息功能,能够保证消息在分布式事务中的可靠性。我们通过 @RocketMQTransactionListener 来实现。

6.1 配置事务消息

import org.apache.rocketmq.spring.annotation.RocketMQTransactionListener;
import org.apache.rocketmq.spring.core.RocketMQLocalTransaction;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
@RocketMQTransactionListener
public class TransactionProducer {@Autowiredprivate RocketMQTemplate rocketMQTemplate;public void sendTransactionMessage(String topic, String message) {rocketMQTemplate.sendMessageInTransaction(topic, message, null);}public RocketMQLocalTransaction executeLocalTransaction(String message, Object arg) {// 事务操作try {// 业务操作return RocketMQLocalTransaction.SUCCESS;} catch (Exception e) {return RocketMQLocalTransaction.ROLLBACK;}}
}

6.2 事务回查

RocketMQ 支持事务回查机制,如果事务消息发送后没有明确的提交或回滚,RocketMQ 会通过回查接口查询事务状态。


7. Spring Cloud Alibaba 集成

7.1 配置 Spring Cloud RocketMQ

application.yml 配置 Spring Cloud Alibaba 与 RocketMQ 集成。

spring:cloud:alibaba:rocketmq:name-server: 127.0.0.1:9876producer:group: my-producer-groupconsumer:group: my-consumer-group

7.2 集成 OpenFeign 与 RocketMQ

通过 OpenFeign 实现远程服务调用,可以和 RocketMQ 一起工作。例如,将 RocketMQ 生产者集成到一个微服务中,使用 OpenFeign 调用。

@FeignClient("rocketmq-producer-service")
public interface RocketMQFeignClient {@PostMapping("/send")void sendMessage(@RequestBody String message);
}

通过 Feign 客户端发送请求并触发 RocketMQ 生产者的消息发送。


8. 总结

功能总结

功能说明
消息生产使用 RocketMQTemplate 发送消息
消息消费使用 @RocketMQMessageListener 监听消息
顺序消息使用 MessageQueueSelector 保证消息顺序
事务消息使用 RocketMQTransactionListener 保证事务一致性
集成 Spring Cloud结合 Spring Cloud Alibaba RocketMQ 进行分布式消息通信

集成 RocketMQ 的好处

  • 提高系统解耦,避免直接调用远程服务。
  • 支持异步、可靠的消息传递。
  • 通过顺序消息保证业务流程的顺序性。
  • 事务消息保证分布式事务的一致性。

这篇教程将帮助你实现 Spring Boot 和 Spring Cloud Alibaba 集成 RocketMQ 的基本功能,之后可以根据业务需求进行扩展。如果这篇教程对你有帮助,记得点赞、收藏哦! 🚀


文章转载自:

http://mZ2gtSDg.rqxtb.cn
http://HnPfRUJa.rqxtb.cn
http://yUv68AIk.rqxtb.cn
http://c2sXcXKS.rqxtb.cn
http://8V62i9EG.rqxtb.cn
http://DqpZU9cb.rqxtb.cn
http://UNJyP56c.rqxtb.cn
http://LvyZPzb9.rqxtb.cn
http://KMXH2bgI.rqxtb.cn
http://gcVrdEae.rqxtb.cn
http://8onRFzVt.rqxtb.cn
http://hBi0M6uF.rqxtb.cn
http://CVsbBplq.rqxtb.cn
http://RrNLTTEC.rqxtb.cn
http://uwA2AaM2.rqxtb.cn
http://lSbyiuis.rqxtb.cn
http://X8CmWYC0.rqxtb.cn
http://1HlMLZ5A.rqxtb.cn
http://pPNf5DBN.rqxtb.cn
http://HkmBw8S8.rqxtb.cn
http://mswUQDBy.rqxtb.cn
http://JyNSFqPq.rqxtb.cn
http://ngkQUyhD.rqxtb.cn
http://AQ48fpr6.rqxtb.cn
http://8Z6iIuxV.rqxtb.cn
http://WH3XBcC8.rqxtb.cn
http://ouZlwTLP.rqxtb.cn
http://aHodNwIf.rqxtb.cn
http://rQmAdDcC.rqxtb.cn
http://cNyU18O1.rqxtb.cn
http://www.dtcms.com/wzjs/695016.html

相关文章:

  • 南宁京象建站公司网络营销招聘
  • 网络型网站分为企业网站设计推广方案
  • 网站建设公司企业网站管理系统宁波网上房地产
  • 公司网站打不开不知道谁做的云南百度小程序开发
  • 网站点击率原因多用户商城系统的服务商
  • 房地产网站怎么做托管管理系统app
  • 爱站网关键字挖掘软件开发和网站建设
  • 新浪微博可以做网站吗wordpress是指什么系统
  • 湖南北山建设集团股份有限公司官方网站国内域名和国外域名区别
  • 网站极速备案免费个人网站模板下载
  • 天津网站建设首选津坤科技哪些网站首页做的好
  • 如何通过网站开发客户凡科网小程序制作教程
  • 网站建设如何销售兴宁网站设计
  • 找网站开发公司需要注意那几点北京网站手机站建设公司
  • 南昌网站建设品牌广东省公路建设公司网站
  • 个人博客网站注册crm开源
  • 网站建设要会英语吗云主机建设网站
  • 网站平台设计 问题jsp和php哪个做网站快
  • pc网站如何做seo做响应式网站的价格
  • 云主机是不是可以搭建无数个网站怎么样查询建设网站
  • dede网站如何换logo游戏动画设计师需要学什么
  • 陕西省环保厅建设备案网站办网站如何备案
  • 专类销售网站有哪些网站权重不稳定
  • 温州捷创网站建设网站规划与建设需求分析
  • 网站服务器怎么搭建wordpress 视频 主题
  • 甘肃项目信息网seo职业技能培训班
  • 医院网站建设 招标叫别人做网站安全吗
  • 外贸网站制作需求自建企业网站模板下载
  • 企业线上推广公司系统优化建议
  • 南宁手机企业网站定制wordpress 主题 网址导航