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

南京html5网站建设重庆做营销型网站建设公司

南京html5网站建设,重庆做营销型网站建设公司,一级消防工程师,谷歌网络推广在业务逻辑的异步处理#xff0c;系统解耦#xff0c;分布式通信以及控制高并发的场景下#xff0c;消息队列有着广泛的应用。本项目基于Spring的AMQP模块#xff0c;整合流行的开源消息队列中间件rabbitMQ,实现一个向rabbitMQ添加和读取消息的功能。并比较了两种模式… 在业务逻辑的异步处理系统解耦分布式通信以及控制高并发的场景下消息队列有着广泛的应用。本项目基于Spring的AMQP模块整合流行的开源消息队列中间件rabbitMQ,实现一个向rabbitMQ添加和读取消息的功能。并比较了两种模式生产者-消费者模式和发布-订阅模式的区别。AMQP作为比JMS更加高级的消息协议支持更多的消息路由和消息模式。 包含的特性如下 如上图生产者消费者模型添加了一个队列并创建了两个消费者用于监听队列消息我们发现当有消息到达时两个消费者会交替收到消息。这一过程虽然不用创建交换机但会使用默认的交换机并用默认的直连default-direct策略连接队列 下面来看具体真使用 1.安装关于安装之前已经介绍过了有兴趣的话可以参考之前的文章 PHP安装rabbitmq扩展_php 按照rabbitmq 扩展-CSDN博客 不过使用的是php版本的原理上是一样的。 安装好之后我们打开后台 1.yml文件配置rabbitmq server.port8081 logging.pathD:/ logging.level.boot.springDEBUG spring.application.namespring-boot-rabbitmq spring.rabbitmq.host192.168.33.10 spring.rabbitmq.port5672 spring.rabbitmq.usernametest spring.rabbitmq.passwordtest123 pom文件添加依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdversion1.5.10.RELEASE/version/dependency 生产者 Transactional Service(producer) public class ProducerImpl implements Producer{AutowiredRabbitTemplate rabbitTemplate;public void sendMail(String queue,Mail mail) {rabbitTemplate.setQueue(queue);rabbitTemplate.convertAndSend(queue,mail);}} 消费者 Configuration public class ProducerConsumerConfig {Beanpublic Queue myQueue() {Queue queuenew Queue(myqueue);return queue;}} 将队列绑定到交换机 Configuration public class DirectExchangeConfig {Beanpublic DirectExchange directExchange(){DirectExchange directExchangenew DirectExchange(direct);return directExchange;}Beanpublic Queue directQueue1() {Queue queuenew Queue(directqueue1);return queue;}//将交换机和相应队列连起来Beanpublic Binding bindingorange(){Binding bindingBindingBuilder.bind(directQueue1()).to(directExchange()).with(orange);return binding;} } 写个控制器 Controller public class RabbitMQController {AutowiredProducerImpl producer;AutowiredPublisherImpl publisher;RequestMapping(value/produce,produces {application/json;charsetUTF-8})ResponseBodypublic void produce(ModelAttribute(mail)Mail mail) throws Exception{producer.sendMail(myqueue,mail);}} 通过监听器来监听消费 Component public class DirectListener1 {RabbitListener(queues directqueue1)public void displayMail(Mail mail) throws Exception {System.out.println(directqueue1队列监听器1号收到消息mail.toString());} } 启动项目我们来调用一下 看到队列的消费情况 上篇文章介绍 rocketmq这2种消息队列在实际应用中都等起道会很好的作用但在实际应中rocketmq使用java语言开发的跨平台比较好。rabbitmq 架构设计简单在一般的轻量级的服务用用中可能会比较好些。官方的对比也给了说明 适用于易用性和灵活性要求较高的场景 1、应用场景 异步任务处理RabbitMQ提供可靠的消息传递机制适用于处理异步任务例如将耗时的任务放入消息队列中然后由消费者异步处理提高系统的响应速度和可伸缩性。解耦系统组件通过使用RabbitMQ作为消息中间件不同的系统组件可以通过消息进行解耦实现松耦合的架构提高系统的可维护性和灵活性。事件驱动架构RabbitMQ的发布-订阅模式可以用于构建事件驱动架构将系统中的事件作为消息发布到相应的主题不同的消费者可以订阅感兴趣的主题进行相应的处理。 2.RocketMQ 适用于大规模数据处理和高吞吐量的场景 分布式事务RocketMQ支持分布式事务消息适用于涉及多个业务系统的分布式事务场景确保消息的一致性和可靠性同时提供高吞吐量的消息传递能力。实时日志处理由于RocketMQ具备高吞吐量和低延迟的特点可以用于实时日志处理例如日志收集和分析、日志聚合等场景。 2、服务架构 RabbitMQ Channel通道Channel是RabbitMQ与应用程序之间的虚拟连接。通过在物理连接connection上创建多个通道应用程序可以并发地进行消息传递操作。通道负责发送和接收消息并执行一些与消息相关的操作如声明队列、定义交换机和绑定等。通道可以看作是轻量级的会话通过一个物理连接与RabbitMQ进行交互。Exchange交换机交换机是消息的接收和转发中心。当消息发送到RabbitMQ时会通过交换机进行路由。交换机根据其类型和绑定规则将消息路由到一个或多个队列中。常见的交换机类型包括直连交换机direct、主题交换机topic、扇形交换机fanout和头部交换机headers。Queue队列队列是RabbitMQ用于存储消息的缓冲区。当消息无法立即路由到消费者时会被存储在队列中等待消费者来获取和处理。每个队列都有一个唯一的名称并且按照FIFO先进先出的顺序进行消息的投递和消费。Virtual Host虚拟主机虚拟主机是逻辑上的隔离环境用于将RabbitMQ服务器划分为多个独立的部分。每个虚拟主机都有自己的交换机、队列、绑定和权限设置。虚拟主机可以帮助不同应用程序或服务之间进行隔离并提供安全性和资源管理的控制。Broker代理Broker是RabbitMQ消息队列服务器的实例负责接收、存储和路由消息。它充当中间人的角色将生产者发送的消息传递给消费者。一个RabbitMQ实例可以包含多个Broker每个Broker可以承载多个虚拟主机和队列。 RocketMQ NameServer命名服务器NameServer是RocketMQ的命名服务组件用于管理和提供Broker的路由信息。它充当元数据的中心负责维护Broker的注册信息、Topic的路由信息等。Producer和Consumer在发送和接收消息之前需要与NameServer进行交互以获取正确的Broker信息。Controller控制器Controller是RocketMQ的控制器组件负责协调和管理整个RocketMQ集群的工作。它监控Broker的状态变化处理集群的扩容和缩容进行负载均衡等操作。Controller是RocketMQ集群的核心组件之一确保集群的可靠运行和自动化管理。Broker代理Broker是RocketMQ的消息存储和处理节点。它负责接收来自Producer的消息并将其存储在磁盘上。Broker还负责处理Consumer的消息拉取请求并将消息推送给Consumer进行消费。一个RocketMQ集群可以包含多个Broker每个Broker负责存储一部分Topic的消息数据。
http://www.dnsts.com.cn/news/261848.html

相关文章:

  • 做网站公司好权威的手机网站建设
  • 怎么给网站添加站点统计开发公司截留占用住宅专项维修资金的整治方案
  • 做电影视频网站赚钱嘛上海第五届世界进口博览会
  • wordpress快速仿站视频教程企业网站关键词放几个
  • 网站建设公司.wordpress页面布局
  • 建设物流网站的规划做国内贸易的网站
  • 北京做网站的好公司有哪些宜家家居官网网上商城app
  • 关于电子商务网站建设的参考文献网站风格分类
  • 网站开发技术方案编写视网站亏损了为什么还做
  • 营销型网站建设企业做一个网站多少钱
  • 如何作做网站揭阳网站建设模板
  • 网站资源建设的步骤广州 网站开发 app
  • 专业的网站建设专业平台瑞安企业做网站
  • 哈尔滨自助建站模板王烨小说主角
  • 如何建网站吗?朋友圈广告怎么投放
  • 汕头网站制作多少钱河南五建建设集团有限公司网站
  • 网站运营策划商城类app制作价格
  • 网站怎么做响应网站上面的在线咨询是怎么做的
  • 微信网站制作企业精美的php个人网站源码
  • 曲靖做网站大气的网站首页
  • 易企秀+旗下+网站建设嘉兴城乡建设厅网站
  • 西安手机网站案例网站如何备案流程
  • 织梦网站程序模板下载地址住建部四库一平台
  • 高端网站建设郑州网上花店网页制作教程
  • 阿克苏地区建设局网站做网站切图尺寸
  • 天津正规网站建设调试公司策划运营
  • 小学生做网站步骤网站名字做版权需要源代码吗
  • 网页网站建设软件有哪些wordpress文章分类能编辑
  • 请说明网站建设的一般过程包括哪些厦门网站建设培训费用
  • 刘强东当年做网站读的什么书自己做网站处理图片用什么软件