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

广东省网站集约化建设方案平面设计入门

广东省网站集约化建设方案,平面设计入门,莱芜做网站号码,电商网站设计费用什么是Spring Boot#xff1a; Spring Boot是Spring Framework的简化版#xff0c;其目标是使用尽可能少的配置来简化Spring应用的开发、部署和维护。它根据项目的依赖关系自动配置Spring环境#xff0c;开箱即用。 什么是RabbitMQ#xff1a; RabbitMQ是一种开源的、实…什么是Spring Boot Spring Boot是Spring Framework的简化版其目标是使用尽可能少的配置来简化Spring应用的开发、部署和维护。它根据项目的依赖关系自动配置Spring环境开箱即用。 什么是RabbitMQ RabbitMQ是一种开源的、实现了高级消息队列协议AMQP的、可靠的消息队列系统它旨在支持复杂的事务处理和强大的消息模型。 为什么要将Spring Boot集成RabbitMQ Spring Boot集成RabbitMQ后可以充分利用RabbitMQ的消息队列特性实现异步处理、流量削峰、解耦等功能可以有效地提升系统的延展性和稳定性。 Spring Boot基础 Spring Boot有许多方便的特性如无需部署、独立运行、内嵌服务器等这些都可以使开发人员专注于编写业务逻辑。Spring Boot还提供了许多“starter”依赖包方便进行项目的依赖管理。 Spring Boot的基本使用 Spring Boot的基本使用包括创建Spring Boot项目配置Spring Boot属性创建Controler、Service、Dao等类进行开发运行Spring Boot项目等。 Spring Boot项目实战创建一个简单的Spring Boot应用 创建一个简单的Spring Boot应用通常可以由Spring Initializr工具进行项目的初始化进行相关配置。 RabbitMQ基础 RabbitMQ的基本工作流程是生产者发出消息通过交换机Exchange分配到多个队列中然后交给一个或多个消费者进行处理。 RabbitMQ的Exchange类型和队列绑定 RabbitMQ有四种Exchange类型Direct(直接)、Fanout(扇出)、Topic(主题)、Headers(头部)每种类型对应不同的路由策略。而队列绑定则是将某个队列和某个交换器绑定起来。 Spring Boot集成RabbitMQ Spring Boot与RabbitMQ的集成方法 可以使用Spring Boot的spring-boot-starter-amqp 来进行RabbitMQ的集成。其主要步骤包括 在Spring Boot的pom.xml文件中添加相关依赖。在application.properties中添加RabbitMQ的连接信息如主机名、端口、用户名和密码等。 创建Spring Boot与RabbitMQ的项目框架 在创建好Spring Boot项目后可以添加RabbitMQ相关的配置类这个配置类给出了如何连接RabbitMQ并定义了消息队列、交换器和绑定。 配置RabbitMQ连接和消息队列 在配置文件中配置RabbitMQ连接信息然后在配置类中设置队列交换器绑定如果需要。 发布和接收消息 发布消息创建一个用于发布消息到特定队列的消息发送类。接收消息创建一个监听特定队列并处理消息的消息接收类。 Spring Boot和RabbitMQ进阶特性 消息确认和消息持久化 Spring Boot支持消息的确认和持久化分别可以确保消息不会在处理过程中丢失并且即使RabbitMQ服务重启消息也能从磁盘中恢复。 死信队列和延迟队列 死信队列用于存放无法处理的消息延迟队列则用于延迟消息的处理。Spring BootRabbitMQ可以设置这两个队列处理相关问题。 高并发处理 通过设置RabbitMQ的QoS参数以及Spring Boot的ConnectionFactory的concurrency参数可以实现在高并发环境中的效率处理。 Spring Boot和RabbitMQ项目实战 设计和实现一个实用的Spring Boot和RabbitMQ应用 一个常见的Spring BootRabbitMQ应用为当有大量请求涌入系统时将请求数据发送到RabbitMQ然后由多个消费者在后台进行处理。 分析和解决在项目开发过程中遇到的问题 这部分主要记录在开发过程中遇到的问题以及如何解决。如消息未被正确消费等。 项目部署和测试 最后项目部署到实际环境并进行必要的压力测试和功能测试保证服务的稳定性和可用性。 首先在Spring Boot的pom.xml文件中添加RabbitMQ的相关依赖 xml dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId /dependency然后在application.properties中添加RabbitMQ的相关配置 properties spring.rabbitmq.hostyour_host spring.rabbitmq.portyour_port spring.rabbitmq.usernameyour_username spring.rabbitmq.passwordyour_password接着在Java配置文件中创建连接工厂RabbitTemplate以及创建消息队列 java Configuration public class RabbitMqConfiguration {Beanpublic Queue exampleQueue() {return new Queue(ExampleQueue, false);}Beanpublic RabbitTemplate rabbitTemplate(final ConnectionFactory connectionFactory) {final var rabbitTemplate new RabbitTemplate(connectionFactory);rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());return rabbitTemplate;} }最后在发送者和接收者类中我们可以定义消息的发送和接收 java Service public class MessageSender {private final RabbitTemplate rabbitTemplate;Autowiredpublic MessageSender(RabbitTemplate rabbitTemplate) {this.rabbitTemplate rabbitTemplate;}public void sendToRabbitmq(String message) {this.rabbitTemplate.convertAndSend(ExampleQueue, message);} }Service public class MessageReceiver {RabbitListener(queues ExampleQueue)public void receiveMessageFromRabbitmq(String message) {// 处理接收到的消息} } 2、处理消息确认和消息持久化 以下是如何在Spring AMQP中实现消息确认和消息持久化的示例 java RabbitListener(queues queue_name) public void receiveMessage(Message message, Channel channel) throws IOException {try {// 同步处理消息System.out.println(new String(message.getBody()));// 确认一条消息已经被消费channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);} catch (Exception e) {// 如果报错消息会被重新发送给brokerchannel.basicReject(message.getMessageProperties().getDeliveryTag(), true);} }同时在声明Queue和Exchange时可以设置其durable属性为true来持久化它们 java Bean public Queue durableQueue() {return new Queue(durableQueue, true); }Bean public Exchange durableExchange() {return new DirectExchange(durableExchange, true, false); }处理死信队列和延迟队列 以下是如何在Spring AMQP中声明死信队列并设置消息的过期时间来实现延迟队列 java Bean public Queue deadLetterQueue() {return new Queue(deadLetterQueue, true); }Bean public Queue delayQueue() {MapString, Object args new HashMap();args.put(x-dead-letter-exchange, );args.put(x-dead-letter-routing-key, deadLetterQueue);args.put(x-message-ttl, 5000); // 设置消息过期时间为5秒return new Queue(delayQueue, true, false, false, args); }以上代码会在消息被发送到delayQueue后如果5秒内没有被消费消息会被发送到deadLetterQueue。
http://www.zqtcl.cn/news/500881/

相关文章:

  • 永久免费做网站营销软文广告
  • 网站规划怎么写wordpress如何搭建博客
  • 网站索引页面网站做302重定向会怎么样
  • 精品成品冈站源码免费企业网站的内容模块
  • 网站策划的最终体现南宁网站建设培训学校
  • 网站不备案打不开怎么建网站不用买空间
  • 有没有IT做兼职的网站百度收录入口提交
  • 普洱市建设局网站重庆工程建设信息查询
  • 上海网站设计多少钱wap网站生成微信小程序
  • 广州网站到首页排名做图骂人的图片网站
  • 公司的网站建设价格wordpress付费阅读文章功能
  • 飞鸽网站建设建设网站什么软件比较好
  • 网站名称 规则网站seo完整seo优化方案
  • 昆明网站建设高端定制wordpress建站课程
  • 建网站外包wordpress 便利贴
  • 硅胶 技术支持 东莞网站建设网站互联网接入商
  • 太平洋建设21局网站微信网页版登录手机版
  • 站长统计芭乐鸭脖小猪电商平台哪个最好
  • 女与男爱做电影网站免费企业公司网站建设方案
  • 尚品本色木门网站是哪个公司做的大庆建设公司网站
  • 做网做网站建设的网站怎么用别人网站做模板
  • 电子商务网站购物车怎么做网站站点创建成功是什么意思
  • 如何做招聘网站的评估新浪微博可以做网站吗
  • 加强网站建设的制度wordpress如何清空
  • 轻松筹 的网站价格做网站建设意识形态
  • 有.net源码如何做网站湖南宣传片制作公司
  • dede网站模板怎么安装教程青岛需要做网站的公司
  • 静态双语企业网站后台源码北京网站关键词优化
  • 石家庄手机网站建设公司wordpress侧边栏显示子分类文字数
  • 公司网站客户案例个人做 网站2019