自托管集成系统概述
集成系统选项
集成系统 可以是商业性质的,有很多付费连接模块,也有一些免费的; 或者是一种带有奇怪许可证的“免费”系统; 或者适合自托管,也可以不是。
目前市面上有很多集成系统…
使用场景
可以用于
- 在不同[社交网络]平台之间组织自己的集成,
- 配置物联网事件的通知,或
- 设置完整的POSSE系统。
如果你对POSSE感到好奇… POSSE 是“Publish (on your) Own Site, Syndicate Elsewhere”的缩写,即先在自己的网站上发布内容,然后在其他地方(如社交媒体孤岛)发布副本或分享链接,同时保留原始帖子链接,以便观众可以直接与你的内容互动。
而IoT 是物联网,以防你忘记了。
基于云的系统
通用平台
比如 AWS 的 SNS、SQS、EventBridge、AppFlow 等等
定制化平台
有很多选择
以及其他。
非常方便,但可能价格不菲。
自托管集成系统
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
根据他们的网站:
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 编码简单
- 但请自行判断,学习曲线 可能会因你的经验而有所不同。