通过Redis的Pub/Sub实现对服务器群的监控管理(2)

这边是订阅者,大家会发现我在订阅者那边发布的信息,这边都接收了,而且执行了linux的命令

通过Redis的Pub/Sub实现对服务器群的监控管理

这边是发布者

通过Redis的Pub/Sub实现对服务器群的监控管理

下面是php的例子,在这里咱们可以把php当做脚本用。

首先是编译安装phpRedis扩展,扩展的地址和api手册可见:https://github.com/nicolasff/phpredis

发布者

$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$channel = $argv[1]; // channel
$msg = $argv[2]; // msg
$redis->publish('channel'.$channel, $msg);

订阅者

$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$channel = $argv[1]; // channel
$redis->subscribe(array('channel'.$channel), 'callback');
function callback($instance, $channelName, $message) {
 echo $channelName, "==>", $message,PHP_EOL;
}

可以分别开三个终端窗口

在终端1中执行:

php redis-sub.php 1

在终端2中执行:

php redis-sub.php 2

在终端3中执行:

php redis-pub.php 1 hello

此时在终端1中可以打印出hello;

执行

php redis-pub.php 2 world

则在终端2中打印出world。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/67c888b6f73b942149c8bd956b932169.html