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

网站建设-部署与发布wordpress怎么代码高亮

网站建设-部署与发布,wordpress怎么代码高亮,wordpress archive模板,佛山网站设计案例构建高可用消息队列系统 01 引言1. RabbitMQ简介介绍1.1 什么是RabbitMQ1.2 RabbitMQ的核心特性1.3 RabbitMQ与AMQP 2.安装RabbitMQ3.消息队列实践总结 引言 在当今互联网时代#xff0c;消息队列系统扮演着至关重要的角色#xff0c;它们被广泛应用于分布式系统、微服务架构… 构建高可用消息队列系统 01 引言1. RabbitMQ简介介绍1.1 什么是RabbitMQ1.2 RabbitMQ的核心特性1.3 RabbitMQ与AMQP 2.安装RabbitMQ3.消息队列实践总结 引言 在当今互联网时代消息队列系统扮演着至关重要的角色它们被广泛应用于分布式系统、微服务架构以及异步通信等领域。RabbitMQ作为最流行的开源消息队列之一具有高可用性、可靠性和灵活性本篇博客将深入探讨RabbitMQ的高级应用包括简介介绍、安装配置以及实际案例分析。 1. RabbitMQ简介介绍 1.1 什么是RabbitMQ RabbitMQ是一个开源的消息代理软件实现了高级消息队列协议AMQP并提供了可靠的消息传递、灵活的路由、消息确认机制等特性。它是一个强大的工具用于构建分布式系统中的异步通信和解耦同时也适用于构建大规模的数据处理系统。RabbitMQ的核心概念包括交换机、队列、绑定等通过这些概念可以实现灵活的消息路由和处理。在分布式系统中RabbitMQ能够提供高可用性、可靠性和灵活性使得系统能够更好地应对高并发和大规模数据处理的挑战。 1.2 RabbitMQ的核心特性 消息持久化RabbitMQ允许消息持久化到磁盘即使在代理重启后也不会丢失。这对于关键业务数据的可靠性至关重要。消息确认机制RabbitMQ支持消息的确认机制生产者可以收到消息代理已经成功接收消息的确认确保消息不会丢失。灵活的路由规则RabbitMQ的灵活的路由规则允许消息根据不同的条件被路由到不同的队列从而实现复杂的消息处理逻辑。高可用性RabbitMQ支持集群和镜像队列可以实现高可用性的消息队列系统即使某个节点发生故障系统仍然能够正常运行。可靠性RabbitMQ通过消息确认机制和持久化等特性保证了消息传递的可靠性即使在网络故障或者节点故障的情况下也能够保证消息不丢失。 1.3 RabbitMQ与AMQP RabbitMQ是一个实现了高级消息队列协议AMQP的消息代理软件。AMQP是一种面向消息的中间件标准协议旨在提供统一的消息传递模型以便不同的消息中间件系统可以进行互操作。、 RabbitMQ完全实现了AMQP 0-9-1版本这意味着它遵循了AMQP协议定义的消息格式、交换机、队列、绑定等核心概念同时也支持AMQP定义的高级特性如事务、确认机制等。 通过遵循AMQP协议RabbitMQ能够与其他支持AMQP的消息中间件系统进行无缝集成实现跨平台、跨语言的消息传递。这使得开发人员可以更加灵活地选择适合自己业务需求的消息中间件系统同时也为系统的可扩展性和互操作性提供了保障。 2.安装RabbitMQ 拉取Rabbitmq镜像 docker pull rabbitmq:managemen开启两个端口,5672,15672 firewall-cmd --zonepublic --add-port5672/tcp --permanent firewall-cmd --zonepublic --add-port15672/tcp --permanent更新防火墙 firewall-cmd --reload查看开放端口 firewall-cmd --zonepublic --list-ports然后创建容器 docker run -d \ --name my-rabbitmq \ -p 5672:5672 -p 15672:15672 \ --hostname my-rabbitmq-host \ -e RABBITMQ_DEFAULT_VHOSTmy_vhost \ -e RABBITMQ_DEFAULT_USERadmin \ -e RABBITMQ_DEFAULT_PASSadmin \ --restartalways \ rabbitmq:management创建好了就可以访问了 创建用户 给他分配一个my_vhost权限 现在RabbitMQ安装设置好了 3.消息队列实践 创建一个空项目 并创建两个maven项目,分别对应着消费者和生产者 分别写好yml文件 消费者8999,生产者8888(端口号) server:port: 8888 spring:rabbitmq:host: 192.168.238.129password: 123456port: 5672username: springvirtual-host: my_vhost在生产者项目中放一个消息队列,并取名,firstQueue是队列名字 Configuration SuppressWarnings(all) public class RabbitConfig { Bean public Queue firstQueue() { return new Queue(firstQueue); }public Queue secondQueue() {return new Queue(secondQueue);} }导这个包 然后准备一个发消息的Controller package com.example.publiuse;import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** author 叶秋* site* company 卓京公司* create 2024-01-19 20:10*/ RestController public class TestController {Autowiredprivate AmqpTemplate amqpTemplate;RequestMapping(/send1)public String send1(){//向消息队列发送消息amqpTemplate.convertAndSend(firstQueue,hello);return 哈哈;;} } 访问一手 消息队列显示 消费者监听 Component SuppressWarnings(all) Slf4j RabbitListener(queues firstQueue) public class Receiver { RabbitHandler public void process(String msg) { log.warn(接收到: msg); } }http://localhost:8888/send1 访问几次 然后被监听 这样就大大解除了代码的耦合性 另一个案例 新建一个User类,生成消费都需要 SuppressWarnings(all) Data AllArgsConstructor NoArgsConstructor public class User implements Serializable{ private String username; private String userpwd; }生产者事件 RequestMapping(/send2)public String send2() throws Exception{//向消息队列发送消息User user new User(yh, 123);String string objectMapper.writeValueAsString(user);amqpTemplate.convertAndSend(secondQueue,string);return 哈哈;;}消费者监听 package com.example.consumer;import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;Component SuppressWarnings(all) Slf4j RabbitListener(queues secondQueue) public class Receiver2 {Autowiredprivate ObjectMapper objectMapper; RabbitHandler public void process(String string) throws Exception{User user objectMapper.readValue(string, User.class);log.warn(接收到: user); } }总结 通过本篇博客的学习读者将深入了解RabbitMQ的核心概念、高级特性以及实际应用场景掌握如何搭建高可用的消息队列系统为构建稳定、可靠的分布式系统提供有力支持。
http://www.pierceye.com/news/721878/

相关文章:

  • 自己做的网站本地虚拟上传wordpress 不能评论
  • 百度贴吧网站开发需求分析怎么免费自己做推广
  • 网站怎么访问自己做的网页中国园林网
  • 郑州服装网站建设做营销型网站用那个cms好
  • 网站登录页面模板下载wordpress添加随机图片
  • 贵阳网站建设哪家便宜关键词林俊杰mp3在线听
  • 怎么看网站是哪个系统做的怎么自己建网站赚钱
  • 茶叶建设网站的优势小学网站模板
  • 铜川免费做网站公司个人博客页面
  • 织梦网站安装出现404 not found商务网站设计素材
  • 石家庄seo网站排名合肥做网站价格
  • 盘锦市城乡建设厅网站区域代理加盟项目
  • 源码如何做网站个人音乐网站源码搭建
  • 网站推广资讯网站注册界面设计
  • 凡网站建设网站线下推广怎么做
  • 简要描述创建商务站点的商务镇江海绵城市建设官方网站
  • 广东建设局网站首页物流官网网站
  • 网站首页做多大分辨率卖域名做非法网站
  • 内蒙古自治区建设厅网站首页网站如何做cdn
  • 代做计算机毕业设计网站福田庆三明星案例
  • 常用seo站长工具微商引流推广平台
  • 潍坊市作风建设年官方网站央视新闻
  • 东阳app开发广东seo网站设计价格
  • 医院网站开发门诊部网站建设
  • 卫生系统网站的建设和维护uc浏览器官网
  • 曲靖网站制作一条龙深圳网站建设的特殊性
  • 网站建设技术课程设计儿童教育网站怎么做有趣
  • 建设银行网站网址网站推广在线
  • 服务器上网站建设用什么搭建个人网站
  • 网站设计排版怎么做wordpress添加媒体