RabbitMQ

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(Debian)
(链接)
 
(未显示1个用户的43个中间版本)
第3行: 第3行:
 
RabbitMQ is an implementation of [[AMQP]], the emerging standard for high performance enterprise messaging. Mozilla Public License(MPL)
 
RabbitMQ is an implementation of [[AMQP]], the emerging standard for high performance enterprise messaging. Mozilla Public License(MPL)
  
 +
==简介==
 
RabbitMQ is written in [[Erlang]].
 
RabbitMQ is written in [[Erlang]].
  
[[Twitter]]的消息队列Kestrel使用[[Scala]]编写.  
+
[[Twitter]]的消息队列[https://github.com/twitter-archive/kestrel Kestrel]使用[[Scala]]编写.  
 +
[[Image:RabbitMQ.png|right]]
  
 
==新闻==
 
==新闻==
 
<rss>http://www.rabbitmq.com/blog/feed/|short|date|max=10</rss>
 
<rss>http://www.rabbitmq.com/blog/feed/|short|date|max=10</rss>
 +
 +
==功能==
 +
 +
==版本==
 +
*[https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.9 3.8]
 +
*[https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.28 3.7]
 +
 +
==协议==
 +
RabbitMQ 支持以下协议:
 +
* [[AMQP]] 0.9.1
 +
* AMQP 1.0
 +
* [[MQTT]] 3.1.1
 +
* [https://stomp.github.io/ STOMP] 1.0 through 1.2
  
 
==Debian==
 
==Debian==
 +
[https://www.rabbitmq.com/install-debian.html  Installing on Debian and Ubuntu]
 
  vim /etc/apt/sources.list
 
  vim /etc/apt/sources.list
 
  deb http://www.rabbitmq.com/debian/ testing main
 
  deb http://www.rabbitmq.com/debian/ testing main
第18行: 第34行:
 
  sudo apt-get install rabbitmq-server
 
  sudo apt-get install rabbitmq-server
 
  cd /usr/lib/rabbitmq/bin
 
  cd /usr/lib/rabbitmq/bin
 +
./rabbitmq-plugins list
 
  ./rabbitmq-plugins enable rabbitmq_management
 
  ./rabbitmq-plugins enable rabbitmq_management
 
  /etc/init.d/rabbitmq-server restart
 
  /etc/init.d/rabbitmq-server restart
 
  http://localhost:15672/
 
  http://localhost:15672/
  http://localhost:15672/api // RabbitMQ Management HTTP API
+
  http://localhost:15672/api  
  account name :guest
+
guest/guest
  password :guest
+
./rabbitmqctl add_user huihoo huihoo // 创建用户名和密码为 huihoo 的用户
 +
  ./rabbitmqctl set_permissions huihoo conf read write
 +
  ./rabbitmqctl list_users
 +
curl -i -u guest:guest http://localhost:15672/api/vhosts
  
 
==CentOS==
 
==CentOS==
  yum install erlang
+
  $ sudo yum install erlang
  rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
+
  $ sudo rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
  yum install rabbitmq-server--1.noarch.rpm
+
  $ sudo yum install rabbitmq-server--1.noarch.rpm
  chkconfig rabbitmq-server on
+
  $ sudo chkconfig rabbitmq-server on
  /sbin/service rabbitmq-server stop/start
+
  $ sudo /sbin/service rabbitmq-server stop/start
 +
$ sudo rabbitmq-plugins enable rabbitmq_management
 +
http://localhost:15672
 +
$ sudo rabbitmq-diagnostics observer
  
 
==OS X==
 
==OS X==
 
  安装[http://www.rabbitmq.com/install-standalone-mac.html 最新版] 或  
 
  安装[http://www.rabbitmq.com/install-standalone-mac.html 最新版] 或  
 +
brew update
 +
brew install rabbitmq 或
 
  port install rabbitmq-server
 
  port install rabbitmq-server
 +
./sbin/rabbitmq-server start
 +
./sbin/rabbitmqctl status
 +
 +
学习RabbitMQ时,可参考[http://code.huihoo.com/longhui/rabbit-in-action RabbitMQ in Action Examples]。
 +
 +
==[[Node.js]]==
 +
*[https://github.com/postwait/node-amqp node-amqp]
 +
*[https://github.com/squaremo/rabbit.js rabbit.js]
 +
 +
==Go==
 +
*[https://github.com/smallfish/rabbitmq-http REST API for RabbitMQ], Write with Google [[Go]](lang).
 +
 +
==Python==
 +
sudo easy_install pika
 +
 +
==PHP==
 +
 +
==Ruby==
 +
 +
==Java==
 +
*[https://www.rabbitmq.com/java-client.html RabbitMQ Java client library]
 +
*[https://github.com/jhalterman/lyra Lyra, highly available RabbitMQ Java client]
 +
*[https://github.com/yanghua/banyan Banyan, a RabbitMQ-backed message bus with a tree topology.]
 +
 +
==Scala==
 +
*[https://github.com/sstone/amqp-client RabbitMQ client for Scala]
 +
*[https://github.com/thenewmotion/akka-rabbitmq Akka RabbitMQ client]
 +
*[https://github.com/SpinGo/op-rabbit Op-Rabbit: An opinionated RabbitMQ library for Scala and Akka.]
 +
*[http://typesafe.com/activator/template/rabbitmq-akka-stream Processing RabbitMQ messages using Akka Streams]
 +
 +
==Clojure==
 +
*[http://clojurerabbitmq.info/ Langohr, a Clojure RabbitMQ client]
 +
$ lein repl
 +
user=> (require 'langohr.core)
 +
user=> langohr.core/*default-config*
 +
{:username "guest", :password "guest", :vhost "/", :host "localhost", :port 5672}
 +
 +
==Erlang==
 +
RabbitMQ中的每个队列、交换器和绑定的元数据(除了消息的内容)都保存在 [[Mnesia]]。
 +
 +
==[[PostgreSQL]]==
 +
*[https://github.com/aweber/pgsql-listen-exchange PostgreSQL LISTEN Exchange]
 +
 +
==HA,Cluster==
 +
集群是RabbitMQ高可用性的最终方案,RabbitMQ内置集群,使用[[HAProxy]]或[https://github.com/trainline/rabbitmq-warren-node Warren]做负载均衡,使用[https://www.rabbitmq.com/shovel.html Shovel]构建远程复制。
  
 
==文档==
 
==文档==
 
*[http://docs.huihoo.com/spring/springone/spring-rabbitmq-technology-zh-cn-2012.pdf 用Spring和RabbitMQ技术应对消息传送挑战]
 
*[http://docs.huihoo.com/spring/springone/spring-rabbitmq-technology-zh-cn-2012.pdf 用Spring和RabbitMQ技术应对消息传送挑战]
 
*[http://docs.huihoo.com/erlang/conference/zurich2014/building-a-distributed-data-ingestion-system-with-rabbitmq.pdf Building a Distributed Data Ingestion System with RabbitMQ]
 
*[http://docs.huihoo.com/erlang/conference/zurich2014/building-a-distributed-data-ingestion-system-with-rabbitmq.pdf Building a Distributed Data Ingestion System with RabbitMQ]
 +
*[http://docs.huihoo.com/postgresql/pgcon/2011/On-Rabbits-and-Elephants.pdf Using RabbitMQ to stream data events across PostgreSQL Databases]
 +
 +
==项目==
 +
 +
==用户==
 +
 +
==开发者==
 +
*[https://github.com/sky-big/RabbitMQ RabbitMQ源码中文注释]
 +
 +
==产品服务==
 +
*[http://www.vmware.com/products/application-platform/vfabric-rabbitmq/ VMware vFabric RabbitMQ]
 +
*[https://www.cloudamqp.com/ RabbitMQ as a Service]
  
 
==图集==
 
==图集==
 
<gallery perrow=6>
 
<gallery perrow=6>
Image:RabbitMQ.png
+
image:rabbitmq-exchange-routing.png|交换和路由
 
Image:rabbithub-example.png|RabbitHub
 
Image:rabbithub-example.png|RabbitHub
 
Image:rabbitmq-universe.png|RabbitMQ Universe
 
Image:rabbitmq-universe.png|RabbitMQ Universe
 
image:amqp-stack-exchanges-bindings-queues.png|AMQP堆栈
 
image:amqp-stack-exchanges-bindings-queues.png|AMQP堆栈
 +
image:rabbitmq-permission-system.png|权限系统
 +
image:rabbitmq-alerting-system-flow.png|报警系统
 +
image:rabbitmq-uploading-pictures.png|应用场景
 +
image:rabbitmq-cluster-on-ec2.png|Cluster on EC2
 +
image:rabbitmq-mirrored-queue-behavior.png|镜像队列行为
 +
image:rabbitmq-public-key-encryption.png|公钥加密
 +
image:rabbitmq-chat-room.png|场景:聊天室
 +
image:rabbitmq-diagnostics-observer.png|rabbitmq-diagnostics observer
 
</gallery>
 
</gallery>
 
==产品服务==
 
*[http://www.vmware.com/products/application-platform/vfabric-rabbitmq/ VMware vFabric RabbitMQ]
 
  
 
==链接==
 
==链接==
*http://www.rabbitmq.com/
+
*[http://www.rabbitmq.com/ RabbitMQ官网]
 +
*[https://github.com/rabbitmq/rabbitmq-server RabbitMQ @ GitHub]
 +
*[http://rabbitmq.1065348.n5.nabble.com/ RabbitMQ mailing list]
 
*[http://www.rabbitmq.com/nightlies/ RabbitMQ Released Artifacts]
 
*[http://www.rabbitmq.com/nightlies/ RabbitMQ Released Artifacts]
 
*http://www.lshift.net/blog
 
*http://www.lshift.net/blog
*http://docs.huihoo.com/rabbitmq/
+
*[http://docs.huihoo.com/rabbitmq/ RabbitMQ文档]
 
*[http://cnblog.cloudfoundry.com/2012/06/30/54/ RabbitMQ 搭配 Cloud Foundry:成就简单奏效的云消息传送解决方案]
 
*[http://cnblog.cloudfoundry.com/2012/06/30/54/ RabbitMQ 搭配 Cloud Foundry:成就简单奏效的云消息传送解决方案]
 
{{comment}}
 
  
 
[[category:MOM]]
 
[[category:MOM]]
第64行: 第151行:
 
[[category:erlang]]
 
[[category:erlang]]
 
[[category:OpenStack]]
 
[[category:OpenStack]]
 +
[[category:Internet of Things]]
 +
[[category:huihoo]]
 +
[[category:Huihoo Foundation]]

2023年3月5日 (日) 13:14的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 RabbitMQ Thanks, Wikipedia.

RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. Mozilla Public License(MPL)

目录

[编辑] 简介

RabbitMQ is written in Erlang.

Twitter的消息队列Kestrel使用Scala编写.

RabbitMQ.png

[编辑] 新闻

自http://www.rabbitmq.com/blog/feed/加载RSS失败或RSS源被墙

[编辑] 功能

[编辑] 版本

[编辑] 协议

RabbitMQ 支持以下协议:

[编辑] Debian

Installing on Debian and Ubuntu

vim /etc/apt/sources.list
deb http://www.rabbitmq.com/debian/ testing main
wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc
apt-get update
sudo apt-get install rabbitmq-server
cd /usr/lib/rabbitmq/bin
./rabbitmq-plugins list
./rabbitmq-plugins enable rabbitmq_management
/etc/init.d/rabbitmq-server restart
http://localhost:15672/
http://localhost:15672/api 
guest/guest
./rabbitmqctl add_user huihoo huihoo // 创建用户名和密码为 huihoo 的用户
./rabbitmqctl set_permissions huihoo conf read write
./rabbitmqctl list_users
curl -i -u guest:guest http://localhost:15672/api/vhosts

[编辑] CentOS

$ sudo yum install erlang
$ sudo rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
$ sudo yum install rabbitmq-server--1.noarch.rpm
$ sudo chkconfig rabbitmq-server on
$ sudo /sbin/service rabbitmq-server stop/start
$ sudo rabbitmq-plugins enable rabbitmq_management
http://localhost:15672
$ sudo rabbitmq-diagnostics observer

[编辑] OS X

安装最新版 或 
brew update
brew install rabbitmq 或
port install rabbitmq-server
./sbin/rabbitmq-server start
./sbin/rabbitmqctl status

学习RabbitMQ时,可参考RabbitMQ in Action Examples

[编辑] Node.js

[编辑] Go

[编辑] Python

sudo easy_install pika

[编辑] PHP

[编辑] Ruby

[编辑] Java

[编辑] Scala

[编辑] Clojure

$ lein repl
user=> (require 'langohr.core)
user=> langohr.core/*default-config*
{:username "guest", :password "guest", :vhost "/", :host "localhost", :port 5672}

[编辑] Erlang

RabbitMQ中的每个队列、交换器和绑定的元数据(除了消息的内容)都保存在 Mnesia

[编辑] PostgreSQL

[编辑] HA,Cluster

集群是RabbitMQ高可用性的最终方案,RabbitMQ内置集群,使用HAProxyWarren做负载均衡,使用Shovel构建远程复制。

[编辑] 文档

[编辑] 项目

[编辑] 用户

[编辑] 开发者

[编辑] 产品服务

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱