逻辑编排是用可视化方式描述逻辑,在一般搭建场景中用于代替逻辑描述部分。
更进一步的逻辑编排是前后端逻辑混排,一般出现在一站式 paas 平台,今天就介绍一个全面实现了逻辑编排的 paas 工具 node-red,本周精读的内容是其介绍视频:How To Create Your First Flow In Node-RED,介绍了如果利用纯逻辑编排实现一个天气查询应用,以及部署与应用迁移。
概述
想要在本地运行 Node-RED 很简单,只要下面两条命令:
npm install -g --unsafe-perm node-red
node-red
之后你就可以看到这个逻辑编排界面了:
我们可以利用这些逻辑节点构建前端网站、后端服务,以及大部分开发工作。光这么说还比较抽象,我们接下来会详细介绍每个逻辑节点的作用,让你了解这些逻辑节点是如何规划设计的,以及逻辑编排到底是怎么控制研发规范来提高研发效率的。
Node-RED 截止目前共有 42 个逻辑节点,按照通用、功能、网络、序列、解析、存储分为六大类。
所有节点都可能有左右连接点,左连接点是输入,右连接点是输出,特殊节点可能有多个输入或多个输出,其实对应代码也不难理解,就是入参和出参。
下面依次介绍每个节点的功能。
通用
通用节点处理通用逻辑,比如手动输入数据、调试、错误捕获、注释等。
inject
手动输入节点。可以定期产生一些输入,由下一个节点消费。
举个例子,比如可以定期产生一些固定值,如这样一个这个对象:
return {
payload: new Date(),
topic: "abc",
};
当然这里是用 UI 表单配置的:
之后就是消费,几乎后面任何节点都可以消费,比如利用 change
节点来设置一些环境变量时,或者利用 template
节点设置 html 模版时,都可以拿到这里输入的变量。如果在模版里,变量通过 {
{msg.payload}}
访问,如果是其它表单,甚至可以通过下拉框直接枚举选择。
然而这个节点往往用来设置静态变量,更多的输入情况是来自其它程序或者用户的,比如 http in
,这个后面会讲到。其实通过这种组合关系,我们可以把任意节点的输入从生产节点替换为 inject
节点,从而实现一些 mock 效果,而 inject
节点也支持配置定时自动触发:
debug
用来调试的,当任何输出节点连接到 debug 的输入后,将会在控制台打印出输出信息,方便调试。
比如我们将 inject
的输入连上 debug
的输入,就可以在触发数据后在控制台看到打印结果:
当然如果你把输入连接到 debug,那么原有逻辑就中断了,然而任何输出节点都可以无限制的输出给其它节点,你只要同时把输出连接到 debug 与功能节点就行了:
complete
监听某些节点触发完成动作。通过这个节点,我们可以捕获任意节点触发的动作,可以接入 debug
节点打印日志,或者 function
节点处理一下逻辑。
可以监听全部节点,也可以用可视化方式选择要监听哪些节点: