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

成都设计公司装修厦门网站快速排名优化

成都设计公司装修,厦门网站快速排名优化,如何将aaa云主机做网站,辅助设计软件有哪些1、RabbitMQ是什么 RabbitMQ是“实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均…

1、RabbitMQ是什么

RabbitMQ是“实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。”(引自百度百科)

常用的消息队列有RabbitMQ、RocketMQ等等,下面是它们的对比图:

图片来源:https://www.cnblogs.com/fanBlog/p/12201472.html

换句话说,RabbitMQ是一个开源的消息队列中间件,它实现了高级消息队列协议(AMQP),可以在分布式系统中进行消息传递、异步通信和解耦。RabbitMQ是一个可靠、高效、可扩展的消息代理,可以用于构建高可用、高性能、可伸缩的应用程序。

官网地址:RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ

2、RabbitMQ的核心概念

  1. 消息:RabbitMQ中的消息是指要传递的数据,通常是一个字符串或者二进制数据。消息可以包含一些元数据,例如消息ID、时间戳、优先级等。

  2. 队列:队列是RabbitMQ中存储消息的地方。生产者将消息发送到队列中,消费者从队列中获取消息并进行处理。

  3. 消息队列(Message Queue):是将需要传输的数据(消息)与队列进行绑定,用队列先进先出机制来实现消息传递。消息队列由 生产者 和 消费者 两部分构成:

    1. 生产者主要负责产生消息并把消息放入队列中,再由消费者去处理。

    2. 消费者可以到指定队列中获取消息,或者订阅相应的队列,最后由MQ服务端进行消息推送。

  4. 交换机:交换机是消息的路由中心,它接收从生产者发来的消息,并根据路由规则将消息发送到一个或多个队列中。RabbitMQ支持多种类型的交换机,例如直连交换机、主题交换机、头交换机和扇形交换机。

  5. 绑定:绑定是交换机和队列之间的关系,它定义了消息从交换机路由到哪个队列中。一个交换机可以绑定多个队列,一个队列也可以被多个交换机绑定。

  6. 生产者:生产者是消息的发送方,它将消息发送到交换机或者队列中。

  7. 消费者:消费者是消息的接收方,它从队列中获取消息并进行处理。

生产者、消费者模型-mq的原理,举例

3、RabbitMQ的工作模型

图片来源:【精选】RabbitMQ(一)、基础篇_rabbitmq 5.7.3_普通人zzz~的博客-CSDN博客

4、RabbitMQ的优缺点

优点

  1. 可靠性高:RabbitMQ支持持久化消息,即使在消息代理宕机时也能保证消息不会丢失。

  2. 灵活的路由:RabbitMQ支持多种类型的交换机和路由规则,可以根据业务需求进行灵活配置。

  3. 高可用性:RabbitMQ支持集群部署,可以实现高可用性和负载均衡。

  4. 多语言支持:RabbitMQ提供了多种客户端库,支持多种编程语言,例如Java、Python、Ruby等。

  5. 易于扩展:RabbitMQ可以通过添加节点和集群扩展来满足不同规模的应用需求。

缺点

  1. 性能限制:RabbitMQ虽然支持高并发和高吞吐量的消息传递,但是在处理大量消息时,性能会受到限制。这是因为RabbitMQ需要频繁地进行磁盘IO操作,而磁盘IO是相对较慢的,会影响消息传递的速度。

  2. 配置复杂:RabbitMQ的配置相对来说比较复杂,需要了解交换机、队列、绑定等多个概念,并进行相应的配置。这对于初学者来说可能会增加一定的学习成本。

  3. 存储占用空间:由于RabbitMQ支持持久化消息,所以它需要占用一定的存储空间来存储消息。如果消息量很大,存储空间的占用也会相应增加。

  4. 不支持动态扩容:在RabbitMQ集群中,节点的数量是固定的,无法动态扩容。如果需要扩容,需要手动添加新节点,并进行相应的配置。

  5. 数据处理一致性问题

5、RabbitMQ的应用场景

  1. 异步任务处理:当系统需要处理一些耗时的任务时,可以使用RabbitMQ来实现异步任务处理。生产者将任务消息发送到RabbitMQ中,消费者从队列中获取任务消息并进行处理,这样可以避免任务阻塞主线程,提高系统的响应速度和并发能力。

  2. 分布式系统解耦:在一个复杂的分布式系统中,不同的模块之间可能存在依赖关系,使用RabbitMQ可以实现模块之间的解耦。模块之间通过发送和接收消息进行通信,不直接调用对方的接口,从而降低模块之间的耦合性,提高系统的可维护性和扩展性。

  3. 日志收集和分发:在分布式系统中,日志的收集和分发是一个重要的任务。通过将日志消息发送到RabbitMQ中,可以实现日志的集中存储和分发。消费者可以订阅感兴趣的日志消息,并将其存储到数据库或者发送到其他系统进行进一步处理。

  4. 消息通知和推送:当系统需要向用户发送通知或者推送消息时,可以使用RabbitMQ来实现消息的异步发送。生产者将消息发送到RabbitMQ中,消费者从队列中获取消息并进行推送,可以实现高效、可靠的消息通知和推送功能。

  5. 应用解耦和水平扩展:当系统需要进行水平扩展时,可以使用RabbitMQ来实现应用的解耦和负载均衡。多个相同的消费者可以同时从队列中获取消息进行处理,从而提高系统的吞吐量和可伸缩性。

6、⭐RabbitMQ的作用

6.1 削峰

在高并发场景下,流量突然增加会导致系统负载过高,甚至出现宕机等问题。使用RabbitMQ可以将请求分散到不同的消息队列中,通过设置队列的最大长度、超时时间等参数,实现流量控制和削峰的效果。

6.2 解耦

在分布式系统中,各个模块之间需要进行通信,但是直接依赖会导致系统的耦合度过高。使用RabbitMQ可以将不同模块之间的通信通过消息队列进行解耦,每个模块只需要关注自己需要的消息即可,从而提高了系统的灵活性和可维护性。

6.3 异步

在某些场景下,处理某些任务需要较长的时间,如果采用同步方式,会导致请求阻塞,降低系统的性能。使用RabbitMQ可以将任务放入消息队列中,异步地进行处理,从而提高了系统的并发性和吞吐量。

7、⭐安装RabbitMQ的docker容器

7.1 查询并拉取rabbitmq镜像

docker search rabbitmq
docker pull rabbitmq

7.2 创建rabbitmq数据存储文件夹data

7.3 创建运行容器

7.4 开放防火墙端口

7.5 进入rabbitmq容器

输入以下命令:

7.6 重启rabbitmq容器

7.7 访问浏览器管理页面

7.8 浏览器channel的异常和解决方案

测试,可正常访问

小结

总之,RabbitMQ是一款功能强大、可靠性高、易于使用和扩展的消息队列中间件,适合用于构建分布式系统中的异步通信和解耦。

参考:

https://baijiahao.baidu.com/s?id=1697221448518195951&wfr=spider&for=pc

绝对详细的 RabbitMQ入门,看完本系列就够了(一) - 知乎【精选】RabbitMQ(一)、基础篇_rabbitmq 5.7.3_普通人zzz~的博客-CSDN博客绝对详细的 RabbitMQ入门,看完本系列就够了(一) - 知乎

https://www.cnblogs.com/fanBlog/p/12201472.html


感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!

http://www.khdw.cn/news/49653.html

相关文章:

  • 百度做的网站首页在线客服修改北京网站制作400办理多少钱
  • 专业微信网站建设公司首选公司哪家好广东短视频seo营销
  • 公司logo设计大全创意慧达seo免登录发布
  • 广州网站建设腾虎成都百度seo推广
  • 做淘客推广用什么网站好网址百度刷排名
  • 可以做代发货源的网站深圳百度推广代理
  • 如何做网站用户活跃度新野seo公司
  • 网站平台怎么做的seo分析案例
  • 南沙网站建设公司新乡seo顾问
  • 汽车网站制作模板外贸seo推广招聘
  • 四川公共资源交易网招标网优化网站最好的刷排名软件
  • asp动态网站开发案...网络营销外包网络推广
  • 做国外有那些网站比较好免费网站流量
  • thinkphp网站源码下载长沙好的seo外包公司
  • 装饰网站建设seo搜索引擎是什么意思
  • 美食网站建设前的市场分析深圳市住房和建设局官网
  • 哪些网站是用wordpress搭建的网站目录结构
  • 合肥网站开发外包公司百度知道合伙人答题兼职
  • 做教育行业网站推广运营公司哪家好
  • 广告投放跟网站建设一样吗软件开发公司网站
  • ip做网站域名google seo 优化招聘
  • wdcp 默认网站网络营销概念是什么
  • 城建公司建设网站基础资料乐陵市seo关键词优化
  • 百度云用流量做网站腾讯中国联通
  • 怎么免费建设交友网站电脑网页制作
  • 建设网站的 成本seo去哪里培训
  • 上海做网站公司有哪些专业seo公司
  • 安徽建设通网站seo推广外包报价表
  • 黑龙江企业信息系统广东seo推广方案
  • 做签证网站新型营销方式