WSO2流处理引擎(WSO2 SP)配备了使任何企业都能够构建流分析的能力,并使企业对数据更具洞察力。它由先进的开源流处理项目Siddhi提供支持,借助WSO2 SP的流式SQL功能以及内置的编辑器,它具有事件模拟和调试的功能,他可以帮助您比以前更快地创建实时应用程序。其高性能和低占用空间也带来了更加灵活的部署:它是唯一能够在仅有两个企业服务器的上高可用地部署每秒处理100K事件的产品。
本节中的主题介绍了WSO2流处理引擎,包括它解决的业务案例,其功能和架构。
概览
架构
关于4.3.0版本
概览
在现代商业环境下,企业的商业洞察和商业信息是保持竞争优势的重要因素,这可以允许业务人员可以实时作出决策。实时流处理和流分析是实现这一目标的核心技术。
第一代的流处理引擎带来了一些挑战。
1.复杂的代码
即便是时间窗口或时间模式这样标准的操作也需要用户编写复杂的代码。他们需要大量的时间和技能来进行编写,而且需要花费大量时间进行维护,大多数组织都负担不起这个成本。
2.臃肿的部署
基本的高可用性部署以需要5台以上的服务器。而且这样的部署方式带来了复杂的、耗时的安装设置,而且维护成本非常高。
3.缓慢的变化
快速变化的市场强迫企业更快的适应。但是,复杂的代码、缺乏可视化的处理流程和缺少工具家常需求更改的生命周期。
WSO2流处理(SP)是一个100%开源的流分析和流处理解决方案,它可以帮助你构建和部署用来收集数据、分析数据、处理数据的实时应用。
1.收集
-可以从多种数据(事件)源,通过多种的数据格式收集数据。
2.分析
-使用流式SQL查询实时处理事件流。
-在内存中汇聚和关联数据并与数据存储集成。
3.处理
--通过警报和服务调用来通知用户感兴趣的事件。
--通过Dashboard展示内容。
它具有以下的功能:
1.每秒处理数百万个事件
WSO2 SP是市场上唯一一个仅需要2个节点(最低HA)即可实现高性能分析的产品。可以每秒处理大约100,000个事件,并具有使用Apache Kafka扩展的能力。
2.可以随时进行增量分析
WSO2 SP使用开箱即用的长期运行的增量处理替代了批处理过程,实现了每次新的数据到达后进行更新分析。
3.缩短开发周期来更快的适应市场
使用最先进的IDE,凭借专业,易用的Siddhi 流SQL提供分析,通过提供智能提示、模拟、调试功能带来更灵活的开发体验。
4.分析过去 预测未来
利用过去的表现(数据),来构筑预训练或在线的机器学习模型,并执行实时预测以推动业务规划。
5.连接你的所有系统
使用流行的数据格式,传输协议,开箱即用,可以通过连接器或代理连接100多种(已有)云服务。
6.管理业务规则并可视化输出
使业务员用户能够通过图形界面进行创建或动态部署业务规则,并利用Dashboard作出更好的决策。
7.利用边缘分析构建更智能的设备
通过部署用于本地化数据分析的WSO2 Siddhi(小于2MB)使设备更智能,并通过在边缘进行过滤和汇总处理大数据,让物联网分析等集中部署。
8.用集成数据流建立事件驱动架构
通过连接到各种数据流来构建信息丰富的流应用,使得组织能够实时更好地全面了解其数据,并更好地构建控制流程。
架构
流处理和分析是指在业务活动期间,收集、分析和处理业务事件。在设计解决实时流用例的解决方案时,这个定义至关重要。收集是指从各种数据源收集数据。分析是指操纵数据以识别可用的模式并提取信息。处理是指将结果通知给其他的系统或个人,并直观地表示分析的数据。需要被处理、分析的流数据需要依次通过以上的步骤。
WSO2 SP结构在其设计中反映了这种自然流动,如下图:
WSO2 SP包含了Siddhi作为核心对数据进行收集、分析、处理,下面是SP的主要模块。
Siddhi
流处理编辑器
门户
业务规则
Dashboard
Worker
任务管理
Siddhi
Siddhi是SP的主要组件,它具有运行流处理和复杂事件处理逻辑的能力。流处理逻辑可以是使用流式SQL语言的脚本,并作为一个Siddhi应用程序部署到流处理器中进行处理。它根据收到的事件和Siddhi App进行处理收集、分析、处理。
Siddhi包含了以下的核心元素
1.收集
数据源:数据源通过各种传输协议(HTTP\TCP\Kafka\JMS\…)和不同数据格式(XML\JSON\TEXT\Binary\…)收集数据。接受的事件通过数据源映射到数据流中进行处理
2.分析
流:表示连续的事件流,这些事件遵循已定义的模式。
表:表示遵循已定义模式的静态事件集。可以使用插入、更新、删除、更新删除操作来操作表。可以通过将他们与流或REST API及联来检索表中的事件。
窗口:窗口表遵循根据给定窗口条件定义的一组事件。可以通过将它们与流或REST API及联来检索窗口中的事件。
聚类:聚类使用流中的事件并根据预定义的规则进行聚类。可以通过将它们与流或REST API及联来检索聚类的结果。
查询:查询可以帮助您处理事件。查询处理流、表、窗口并生成新的流、或更新表或窗口。查询可以包括过滤、窗口、聚类、及联、模式、异或、序列操作。
存储:存储映射到表,它允许您将事件存储在各种数据库中,如RDBMS、Apache Cassandra、MongoDB、Apache Solr、Apache HBase、Hazelcast等。
触发:触发器为流生成周期性事件,以实现查询逻辑的定期执行。
3.处理
Sink:Sink通过不同的数据格式(如XML,JSON,Text,Binary等)、传输协议(如HTTP,Email,TCP,Kafka,JMS等)将事件发布到到达的流中,
更多细节请查看Siddhi 查询指南。
Stream Processor Studio / Editor
Stream Processor Studio为开发人员提供了语法高亮,自动提示、集成文档、构建Siddhi应用程序的IDE。它还允许使用模拟测试应用程序并调试应用程序以验证处理逻辑。
For more information, see Understanding the Development Environment.
门户
这用于WSO2 SP中的数据可视化。来自实时流和存储表的数据可以通过门户进行可视化。门户网站可以包含多个仪表板和组件,可以由用户根据他们的要求生成和定制。
For more information, see Visualizing Data.
业务规则
业务规则为业务用户提供了一种管理规则的机制。在这里,业务用户可以使用基于表单的界面和/或由开发人员创建的预定义参数来创建/编辑/删除简单过滤器。
For more information, see Working with Business Rules.
状态仪表板
这使您可以通过获取系统吞吐量,延迟以及负载的细粒度详细信息来监视系统,从而更好地理解和管理环境。
For more information, see Monitoring Stream Processor.
Worker
该worker提供了一个轻量级流处理服务器,允许您在生产中部署和运行Siddhi应用程序。
任务管理
这仅用于完全分布式部署,以在多个Stream Processor工作节点上自动部署和管理Siddhi应用程序。
关于4.3.0版本
WSO2 SP版本4.3.0是版本4.2.0的后续版本。它包含以下新功能和增强功能。
变更内容
WSO2 SP的一些新的功能如下:
1.最低HA部署功能的更改,其中仅在发生故障转移时才会在最低HA设置中进行事件同步。有关更多信息,请参阅最低高可用性部署。
2.引入链路追踪。有关更多信息,请参阅链路跟踪。
3.可以将仪表板门户中显示的数据的可视化下载为PDF文档。有关更多信息,请参阅生成报告。
4.为增量聚类引入自动数据清除。有关更多信息,请参阅增量分析。
5.Siddhi中引入JSON支持。
6.可以及联多个RDBMS表。有关更多信息,请参阅访问和操作多个表中的数据。
7.可以通过IBM MQ传输发送和接收事件。
8.可以将处理后的数据作为电子邮件,发布时发送附件。
9.导入和导出仪表板的可能性。有关更多信息,请参阅导入和导出仪表板。
Fixed Issues
For a list of fixed issues in this release, seeWSO2 SP 4.3.0 - Fixed Issues.
Known issues
For a list of known issues in this release, see WSO2 SP 4.3.0 - Known Issues.