项目介绍:Project Flogo
什么是Project Flogo
Project Flogo是一个超轻量级、基于Go语言的开源生态系统,专注于构建事件驱动的应用程序。它利用“触发器”和“动作”的概念来处理传入的事件。事件的处理通过一个通用接口暴露出关键能力,如应用集成和流处理等。
功能亮点
- 超轻量级:相较于Java或Node.js,Flogo轻量级20到50倍。
- 事件驱动:强大的事件驱动编程模型基于触发器和动作实现。
- 统一核心:一个共同的核心使所有事件构建块间的重用和灵活性成为可能。
- 以Golang为基础:完全用Golang编写,效率高。
- 灵活的部署方式:可以部署为超轻量级无服务器功能、容器或在物联网边缘设备上部署的静态二进制文件。
- 原生机器学习支持:为TensorFlow SavedModel推理提供专门构建的活动。
- 完全开源:为开发者和代码爱好者提供乐趣。
组件介绍
Flogo核心
Flogo核心是用于开发云端和物联网边缘应用的事件驱动应用框架。它还可以被视为一个轻量级的应用内核,为开源和商业解决方案提供支持。核心提供了诸如动作链、统一贡献模型,以及可扩展性等关键优势。
Flogo流程
Flogo流程提供应用集成能力,包含核心特点如无痛开发(带有可视化建模器和调试功能)。它允许用户无代码地开发应用,尤其适合于无服务器函数、云原生微服务,以及物联网解决方案开发者。
Flogo流处理
Flogo流处理帮助处理从多个事件源产生的海量事件数据。它支持简单管道构建、流聚合和事件过滤等功能,是处理机器学习模型数据的理想工具。
Flogo规则
Flogo规则支持实时的上下文决策,提供声明性规则来定义条件逻辑和执行结果规则。它适用于需要处理多事件源连接的场景。
使用场景
使用Flogo可以极大地提高开发者的效率,尤其适用于以下情形:
- 需要应用集成的长期流程
- 大规模数据流的消费和预处理
- 基于上下文的实时决策
Flogo的设计理念专注于通过Go库增加开发效率,同时为服务器计算、物联网设备和容器提供广泛的部署支持。
参与贡献
想要为Project Flogo贡献力量?您可以轻松加入,分叉相关代码库提出Pull Request。有不确定的地方可以讨论,Flogo社区乐于助人,欢迎您的参与!
许可证
Project Flogo在BSD风格许可证下发布,使用时请遵循适用的使用规范。
通过使用Project Flogo,开发者能够轻松创建和部署事件驱动的应用程序,从而极大地降低开发复杂度,提高项目交付效率。