每日一句

The secret of being miserable is to have leisure to bother about whether you are happy or not.

痛苦的秘密在于有闲工夫担心自己是否幸福。

概述

官网:https://www.rabbitmq.com/

RabbitMQ是实现了高级消息队列协议(Advanced Message Queueing Protocol , AMQP)的开源消息代理软件(亦称面向消息的中间件)。

什么是消息中间件

定义:支持在分布式系统中发送和接受消息的硬件或软件基础设施

消息中间件应用场景

消息中间件解决的就是分布式系统之间消息传递的问题。

简单概括一下消息中间件的应用场景大致如下:

  • 业务解耦:交易系统不需要知道短信通知服务的存在,只需要发布消息
  • 削峰填谷:比如上游系统的吞吐能力高于下游系统,在流量洪峰时可能会冲垮下游系统,消息中间件可以在峰值时堆积消息,而在峰值过去后下游系统慢慢消费消息解决流量洪峰的问题
  • 事件驱动:系统与系统之间可以通过消息传递的形式驱动业务,以流式的模型处理

rabbitMQ的起源

RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol)高级消息队列协议 的消息中间件,用于在 分布式系统中存储转发消息

RabbitMQ 正是由于它优越的表现被越来越多人认可。具体特点可以概括为以下几点:

  • 可靠性:持久化、传输确认发布确认等。
  • 灵活的路由:在消息进入队列之前,通过 交换器路由 消息
  • 扩展性:多个 RabbitMQ 节点可以组成一个集群,也可以动态扩展集群节点。
  • 高可用性:队列 可以在集群中的机器上设置 镜像,使得在部分节点出现问题的情况下,队列仍然可用
  • 多种协议:原生支持 AMQP 协议,还支持 STOMP、MQTT 等多种消息中间件协议
  • 多语言客户端:支持常用语言客户端。如:Java、Python、Ruby、PHP、C#、JavaScript
  • 管理界面:提供了一个易用的用户界面,使得用户可以 监控和管理消息、集群中的节点
  • 插件机制:提供了许多插件,以实现从多方面进行扩展,也可以自己编写插件。

美文佳句

在薄情的世界里,每个人都来去匆匆,没有谁会永远陪伴在你身边,没有人会时刻对你关怀备至,体贴入微,倒不如学会好好爱自己,不辜负余生。

你好,我是yltrcc,日常分享技术点滴,欢迎关注我:ylcoder

RabitMQ 简介的更多相关文章

  1. Redis 安装,配置,简介,数据类型(一)

      Redis 安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你 ...

  2. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  3. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  4. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  5. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  6. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  7. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  8. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  9. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

随机推荐

  1. Django ElasticSearch Ionic 打造 GIS 移动应用 —— 架构设计

    搜索引擎是个好东西,GIS也是个好东西.当前还有Django和Ionic.最后效果图 构架设计 对我们的需求进行简要的思考后,设计出了下面的一些简单的架构. GIS架构说明 -- 服务端 简单说明: ...

  2. SphinxJS——把字符串编码成png图片的超轻量级开源库

    体验地址:https://jrainlau.github.io/sp...项目地址:https://github.com/jrainlau/s... SphinxJS 一个能够把字符串编码成png图片 ...

  3. 微信小程序——gulp处理文件

    懒癌直接贴代码,想写在写因为最近搞了一下小程序,直接使用微信的开发者工具搞感觉有点不习惯,并且看了几篇给小程序瘦身的博客,决定给自己的项目做一套配置文件,使用gulp来支持sass scss文件编译以 ...

  4. vue全家桶+axios+jsonp+es6 仿肤君试用小程序

    vue全家桶+axios+jsonp+es6 仿肤君试用小程序 把自己写的一个小程序项目用vue来实现的,代码里面有一些注释,主要使用了vue-cli,vue,vuex,vue-router,axoi ...

  5. 洛谷 P5706 【深基2.例8】再分肥宅水

    题目连接: P5706 [深基2.例8]再分肥宅水 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 我提交的: 1 #include<iostream> 2 #inclu ...

  6. php运用validate+ajax检测用户名是否已存在

    前提:如果还不知道什么是validate,请前往这里 一.remote rules: username:{ required:true, minlength:8, maxlength:8, remot ...

  7. java语言和jdk、jre基础

    Java语言平台 * J2SE(Java 2 Platform Standard Edition)标准版  * 是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌 ...

  8. python"温度转换"实例编写

    介绍 实现华氏度和摄氏度之间的转换. 代码: #TempCovert.py TempStr = input("请输入带有符号的温度值") if TempStr[-1] in [&q ...

  9. Element instanceof Node

    今天看到一个问题,问 Element instance Node 为什么是 false. 首先,我们知道 Element 是 Node 的子类,那么为什么 Element instanceof Nod ...

  10. Gradle 安装记录

    Gradle 安装记录 官网 https://gradle.org/ 参考文档 https://gradle.org/install/ 下载地址 <二进制文件> <源码+文档> ...