RabitMQ 简介
每日一句
The secret of being miserable is to have leisure to bother about whether you are happy or not.
痛苦的秘密在于有闲工夫担心自己是否幸福。
概述
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 简介的更多相关文章
- Redis 安装,配置,简介,数据类型(一)
Redis 安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你 ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
随机推荐
- HTML5打造原生应用——Ionic框架简介与Ionic Hello World
试了试用Ionic框架打造了两个应用,然后在Google Play上架了. 程序语言答人 教你设计物联网 更有意思的是这是在一周的业余时间内完成的三个应用中的两个,接着让我们看看这个框架如何实现高效地 ...
- safari浏览器fixed后,被软键盘遮盖的问题—【未解决】
safari浏览器fixed后,被软键盘遮盖的问题,已经有好多人问相关的问题,应该是问的角度不一样,还的再次提出咯. 问题描述 测试环境:ios 10.2/10.3 简单来说就是在html5页面中底部 ...
- 横竖屏切换android:screenOrientation属性的使用
在开发android的应用中,有时候需要限制横竖屏切换,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. android:sc ...
- 关于allegro找不到env文件解决方法
使用allegro的友人时对于env文件并不陌生.在我们设计的过程中经常使用env文件设置快捷键从而达到快速拉线的目的.但是新安装的allegro软件中会找不到env文件,因为今天自己碰到了这件事,并 ...
- Vue3 + Echarts 5 绘制带有立体感流线中国地图,建议收藏
本文绘制的地图效果图如下: 一.Echarts 使用五部曲 1.下载并引入 echarts Echarts 已更新到了 5.0 版本,安装完记得检查下自己的版本是否是 5.0 . npm instal ...
- Spring的事务控制-基于注解的方式
模拟转账操作,即Jone减少500,tom增加500 如果有疑问请访问spring事务控制-基于xml方式 1.创建数据表 2.创建Account实体类 public class Account { ...
- vue3 监听路由($route)变化
setup() { // ... }, watch: { $route(m, n) { console.log('mm', m) console. ...
- ArcGIS使用技巧(七)——批量导出
新手,若有错误还请指正! 在ArcGIS中如何将栅格数据批量导出?用到"复制栅格这个工具",这里我用的例子是:将ArcGIS默认输出的DEM文件夹批量导出为tif格式.(如果是文件 ...
- Java中日期格式化的实现算法
package com.study.test; import java.io.Serializable; import java.text.SimpleDateFormat; import java. ...
- nginx wordpress安装
BEGIN; 最近在弄wordpress,然后环境是centOS6.3,使用nginx做web服务器. 经过一系列安装,nginx.mysql.php都安装成功了,然后在配置nginx访问wordpr ...