RabbitMQ 原理图和名词理解(二)[通俗易懂]

RabbitMQ 原理图和名词理解(二)[通俗易懂]一、RabbitMQ简介RabbitMQ是基于AMQP实现的一个开源消息组件,主要用于在分布式系统中存储转发消息,由因高性能、高可用以及高扩展而出名的Erlang写成。其中,AMQP(AdvancedMessageQueuingProtocol,即高级消息队列协议),是一个异步消息传递所使用的应用层协议规范,为面向消息的中间件设计。RabbiMQ是EDA事件驱动架构的核心,也是CQR…

大家好,又见面了,我是你们的朋友全栈君。

一 、RabbitMQ简介

RabbitMQ是基于AMQP实现的一个开源消息组件,主要用于在分布式系统中存储转发消息,由因高性能、高可用以及高扩展而出名的 Erlang 写成。其中,AMQP(Advanced Message Queuing Protocol,即高级消息队列协议),是一个异步消息传递所使用的应用层协议规范,为面向消息的中间件设计。RabbiMQ是EDA事件驱动架构的核心,也是CQRS同步数据的关键。

二、RabbitMQ特点

高可靠:RabbitMQ 提供了多种多样的特性让你在可靠性和性能之间做出权衡,包括持久化、发送应答、发布确认以及高可用性。

高可用队列:支持跨机器集群,支持队列安全镜像备份,消息的生产者与消费者不论哪一方出现问题,均不会影响消息的正常发出与接收。

灵活的路由:所有的消息都会通过路由器转发到各个消息队列中,RabbitMQ内建了几个常用的路由器,并且可以通过路由器的组合以及自定义路由器插件来完成复杂的路由功能。

支持多客户端:对主流开发语言(如:Python、Ruby、.NET、Java、C、PHP、ActionScript等)都有客户端实现。

集群:本地网络内的多个Server可以聚合在一起,共同组成一个逻辑上的broker。

扩展性:支持负载均衡,动态增减服务器简单方便。

权限管理:灵活的用户角色权限管理,Virtual Host是权限控制的最小粒度。

插件系统:支持各种丰富的插件扩展,同时也支持自定义插件,其中最常用的插件是web管理工具rabbitmq_management。

三、RabbitMQ工作原理简介
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151182.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javaweb-爬虫-1-62

    javaweb-爬虫-1-62

    2021年5月18日
    128
  • java学生宿舍管理系统,来了就点个赞再走呗,即将毕业的兄弟有福了

    java学生宿舍管理系统,来了就点个赞再走呗,即将毕业的兄弟有福了引言:上次写了一个学生成功管理系统,有个老铁说不会运行,我答应给他写一个项目,并且附上运行的文档,于是这几天就利用摸鱼时间、晚上休息时间、中午午休时间写了这个宿舍管理系统,从表的设计和代码的编写都是自己弄的,数据库用mysql,web容器用tomcat,开发工具用eclipse\myeclipse,java方面入口都是用servlet,数据库连接用c3p0,总之都是用到比较基础的东西来写的,简单易懂,对于正在做毕业设计和刚入门时间不长的兄弟们来说,应该是比较好的学习代码了,希望对大家有所帮助。一张

    2022年7月16日
    14
  • IIC通信协议总结[通俗易懂]

    IIC通信协议总结[通俗易懂](1)概述I2C(Inter-IntegratedCircuit BUS)集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。经常IIC和SPI接口被认为指定是一种硬件设备,但其实这样的说法是不尽准确的,严格的说他们都是人们所定义的软硬结合体,分为物理层(四线结构)和协议层(主机,从

    2022年4月28日
    58
  • Golang洗牌算法「建议收藏」

    Golang洗牌算法「建议收藏」简介主要思路为每次随机挑选一个值,放在数组末尾。然后在n-1个元素的数组中再随机挑选一个值,放在数组末尾,以此类推。注意,一定要设置随机种子,否则每次返回的值是一样的。codefuncshuffle(nums[]int)[]int{ rand.Seed(time.Now().UTC().UnixNano()) fori:=len(nums);i>0;i–{…

    2022年9月21日
    0
  • 真正解决Jenkins安装插件总是报错的问题(网上查的解决方案都无效)

    真正解决Jenkins安装插件总是报错的问题(网上查的解决方案都无效)

    2021年8月31日
    41
  • Linux—ps -ef|grep详解

    Linux—ps -ef|grep详解【Linux】ps -ef|grep详解Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同…

    2022年6月13日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号