提起消息队列,我们很容易就想到redis,rabbitmq等在企业中很常用的消息队列。但是在“个人开发者”这个属性前提下,我们可能根本没有服务器去部署redis或者rabbitmq,即使有个vps/云服务器,也无法保证其稳定性——可能哪天嫌维护麻烦就直接停掉了。当我们开发一些有意思的小工具,并且需要用到消息队列时,往往会操碎了蛋。
今天我就介绍两种方案,寻找身边的资源做消息队列。
云盘
前段时间我在利用dropbox在多台电脑上共享游戏存档时,发现其具有跨平台、实时、分布式等特点,脑中一个哆嗦,这明明是一个分布式消息分发系统!我们可以将不同文件夹作为隔离的各个消息通道,发布者通过在文件夹中写入文件来传递消息,而订阅者则监控其所在pc上相应的文件夹文件变动,就能准确及时得获得消息。可以说既支持消息队列,还是一个订阅\发布者模式。
对此我写了个ip同步工具,可以将远程pc的公网ip实时同步到dropbox文件夹。github地址:ip-sync
那么关于云盘的选择,在国内环境下,我主推快盘、坚果云,这两者都是支持跨平台的。如果只需要windows支持,那选择就丰富了,不一一列举。
微博api
这个点子源于github发现的一个有趣的项目,用新浪微博api实现与远端电脑交互。发布者用某个微博账号发布一条微博作为消息,而订阅者则通过监控微博动态获取消息,并将处理结果反馈写入评论,俨然是一个单通道消息队列。
使用这种方法只需要注册一个微博开发者账号,但由于其有1小时1000次的ip限制,实时性会差一点,并且有字数限制。