自托管集成系统概述

集成系统选项

目录

集成系统 可以是商业性质的,有很多付费连接模块,也有一些免费的; 或者是一种带有奇怪许可证的“免费”系统; 或者适合自托管,也可以不是。

目前市面上有很多集成系统…

服务器机房中使用集成系统感到开心的女性用户

使用场景

可以用于

  • 在不同[社交网络]平台之间组织自己的集成,
  • 配置物联网事件的通知,或
  • 设置完整的POSSE系统。

如果你对POSSE感到好奇… POSSE 是“Publish (on your) Own Site, Syndicate Elsewhere”的缩写,即先在自己的网站上发布内容,然后在其他地方(如社交媒体孤岛)发布副本或分享链接,同时保留原始帖子链接,以便观众可以直接与你的内容互动。

IoT物联网,以防你忘记了。

基于云的系统

通用平台

比如 AWS 的 SNS、SQS、EventBridgeAppFlow 等等

定制化平台

有很多选择

以及其他。

非常方便,但可能价格不菲。

自托管集成系统

Apache

Apache 有很多项目,其中在集成领域值得关注的是 Nifi

Mulesoft 的 ESB

这个 Mule ESB 搭配 Studio 和其他工具,形成一个拥有丰富 连接器 的平台。

https://www.mulesoft.com/platform/studio

保留在这里。对于个人项目来说可能过于复杂。

可以在这里下载:https://www.mulesoft.com/lp/dl/anypoint-mule-studio

请查看许可证。

Huginn

使用 Ruby on Rails 实现

https://github.com/huginn/huginn/blob/master/doc/docker/install.md

这是最成熟的一个开源集成系统之一。

Activepieces

使用 JavaScript 实现

https://www.activepieces.com/docs/contributing/overview

node-RED

https://nodered.org/docs/tutorials/first-flow

一个功能强大且硬件要求较低的集成平台。

界面采用行业标准风格。

自定义连接通过 JavaScript 编码实现。

Windmill

https://github.com/javipalanca/spade

智能 Python 代理开发环境

一个基于即时通讯(XMPP)的多代理系统平台,使用 Python 编写。

开发可以与其它代理和人类进行聊天的代理。

MIT 许可证

StackStorm

https://stackstorm.com/

根据他们的网站:

StackStorm 是一个用于跨服务和工具集成和自动化的平台…

StackStorm 帮助自动化常见的操作模式。一些例子包括:

  • 便捷的故障排查 - 在 Nagios、Sensu、New Relic 等监控系统捕获系统故障时触发,对物理节点、OpenStack 或 Amazon 实例以及应用程序组件执行一系列诊断检查,并将结果发布到共享的通信上下文(如 Slack 或 JIRA)。
  • 自动修复 - 识别 OpenStack 计算节点上的硬件故障,正确地将实例迁移并通知管理员可能的停机时间,但如果任何事情出错 - 冻结工作流程并调用 PagerDuty 唤醒人类。
  • 持续部署 - 使用 Jenkins 构建和测试,创建新的 AWS 集群,通过负载均衡器启用一些流量,并根据 NewRelic 应用性能数据进行前进或回滚。

Luigi

https://luigi.readthedocs.io/en/stable/

Luigi 是一个 Python 包,帮助你构建复杂的批量作业流水线。它处理依赖关系解析、工作流管理、可视化、处理失败、命令行集成等。

BeeHive

https://github.com/muesli/beehive

一个灵活的事件/代理和自动化系统,允许你创建自己的代理,这些代理由事件和过滤器触发,执行自动化任务。 它是模块化、灵活的,任何人都很容易扩展。 它有模块(我们称之为 Hives),因此它可以与 Twitter、Tumblr、Email、IRC、Jabber、RSS、Jenkins、Hue 等进行交互、通信或获取信息。

集成系统列表

Apache-2.0 许可证

系统名称 实现语言
airflow Python
luigi Python
mage Python
node-red Javascript/node.js
prefect Python
taskflow Python
StackStorm Python
syndesis Java
thingsboard Java

MIT 许可证

系统名称 实现语言
actionsflow Javascript/Typescript
active_workflow Ruby
huginn Ruby
jitsu Javascript
novu Javascript/Typescript
pydoit Python

BSD 许可证

系统名称 实现语言
apprise Python
flogo Golang

GPL 许可证

系统名称 实现语言
automatisch Javascript/Typescript
beehive Golang
spiffworkflow Python

其他许可证(先检查一下!)

系统名称 实现语言
activepieces Javascript/Typescript
chainjet Javascript/Typescript
n8n Javascript/Typescript

我的看法

我最喜欢的是 node-RED

  • 提供了良好的连接器集合
  • 系统要求低(比如像树莓派?)
  • 使用 JavaScript 编码简单
  • 但请自行判断,学习曲线 可能会因你的经验而有所不同。