全网过程交stream/协调

我正在寻找一种方法来连接可能在多个位置的多个系统上的进程。 一个事件总线或消息队列似乎是这样做的理想方式,但我一直没能find一个现有的解决scheme,实现这样的东西。 让我举一些我想要做的事情的例子

  1. 一条消息进入我的电子邮件服务[email protected]。 我想在运行我的问题pipe理软件的服务器上启动一项工作,以便从该帐户中POP邮件。

  2. 我的一个团队推动我们的内部Git仓库。 我想让我的聊天机器人通知这个推送的#developers房间,并让我的构build服务器开始构build。

  3. 我的部署系统完成生产部署。 我希望我的问题pipe理系统将部署中的所有问题都标记为部署,并且我的聊天机器人通知#operations room生产已更新。

我知道我可以构build脚本来直接影响这些变化(这是我一直在做的),但我更喜欢解耦的解决scheme。 每当我添加一个新的应用程序,需要知道什么时候进行推送,对于一个花费大部分时间编写软件的人来说,修改我的Git post-receive hook是很奇怪的。 解耦会使维护更加容易,我看不出有什么理由让我的networking中的所有组件都必须相互了解。 我运行Windows Server 2008 R2和CentOS 6.x / 7.x的混合,所以跨平台的东西会很好。

理想情况下,我将在每个侦听中央消息队列的系统上有一个守护进程,并让我定义作业或脚本来对某些事件作出反应。 我还需要一些从命令行或脚本向队列注入事件的方法。 我对任何实现一些解耦的事物都非常开放。 我能想到的唯一解决scheme就是尝试使用AMQP服务器并自己将所有东西连接起来。

如果这样的事情已经存在,我错过了,我很抱歉。 提前感谢您的任何build议。