RabbitMQ: 消息交换模块 Exchange

RabbitMQ 中的 Exchange 负责对消息进行路由。
当收到 Publisher 传递给它的消息后,Exchange 会根据路由键 routing key 决定将消息加入到哪些消息队列中。

Exchange 有三种类型:

1. 直接交换类型 Direct Exchange Type
使用一个固定字符串作为 routing key。
若 exchange 和 message queue 绑定的 key 和 routing key 一样时,消息会被路由到绑定的这个 message queue 中。

继续阅读本文……

还没有评论,赶紧抢沙发!

RabbitMQ: 批量创建节点并组成集群

多核 CPU 上创建集群的好处很明显,可以充分地利用 CPU 运算能力。

之前讲的都是在单机上用命令方式逐个创建节点,然后由这些节点组成集群。

其实如果是在同一台计算机上创建多个节点,RabbitMQ 提供了一个便捷的命令来批量操作。

这个命令是:rabbitmq-multi。

继续阅读本文……

还没有评论,赶紧抢沙发!

RabbitMQ: 从配置文件创建集群

前一篇日志简单演示了下手动创建集群的过程,可能你已经发现以命令行的方式创建集群多少有些繁琐。
RabbitMQ 提供了一种创建集群的便捷方法——从配置文件创建集群。

环境变量 RABBITMQ_CLUSTER_CONFIG_FILE 指定了集群配置文件所在路径,默认为:/etc/rabbitmq/rabbitmq_cluster.config。
如果需要,可以在启动 RabbitMQ Server 前设置它来改变配置文件路径。
只需要把要组成集群的各个节点以数组的方式写在配置文件中即可,示例:
['test1@gentoo', 'test2@gentoo', 'test3@gentoo'].

继续阅读本文……

还没有评论,赶紧抢沙发!

RabbitMQ 集群测试

#### 创建节点 ####

在本机上新建三个节点进行测试:

节点1:test1@gentoo
# export RABBITMQ_NODENAME=test1
# export RABBITMQ_NODE_PORT=5672
# ./rabbitmq-server -detached

节点2:test1@gentoo
# export RABBITMQ_NODENAME=test2
# export RABBITMQ_NODE_PORT=5673
# ./rabbitmq-server -detached

节点3:test1@gentoo
# export RABBITMQ_NODENAME=test3
# export RABBITMQ_NODE_PORT=5674
# ./rabbitmq-server -detached

继续阅读本文……

还没有评论,赶紧抢沙发!

无废话 RabbitMQ 安装

先安装 Erlang,然后:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v1.7.2/rabbitmq-server-1.7.2.tar.gz
tar zxf rabbitmq-server-1.7.2.tar.gz
cd rabbitmq-server-1.7.2
make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man install

继续阅读本文……

还没有评论,赶紧抢沙发!

Ubuntu 10.04 LTS 无法添加计算机的问题

今天装了个Ubuntu 10.04 LTS,完全是为了体验传说中的 Ubuntu One……

按照以下说明进行安装:

https://one.ubuntu.com/support/installation/

到第七步时死活找不到 “Add this Computer button” 这个按钮,郁闷了挺久。

还好在他们的 WIKI 中有人提到这个问题:

https://wiki.ubuntu.com/UbuntuOne/Status

继续阅读本文……

还没有评论,赶紧抢沙发!

SVN 的锁定与解锁

一直习惯于单枪匹马作战,因此使用 SVN 做版本控制时,就没有协同开发的概念,自然就用不到 SVN 的锁机制了。

现在在公司上班就不一样了,几个人做同一个项目,代码就有可能被被人修改。

这个项目初期就告诉他们,为了操作的简易性,项目成员修改一个文件时,不需要锁定文件。但是前提条件是,每个人负责一个独立的模块。

一直都很正常,直到昨天晚上,一个同事修改了我的模块的内容,并提交了……

继续阅读本文……

还没有评论,赶紧抢沙发!