用WSO2 Stream Processor更简单的构筑你的实时应用吧!

        欢迎来到cep-china!以下文章翻译

https://wso2.com/library/article/2018/01/making-real-time-applications-simpler-with-wso2-stream-processor/

        仅供学习参考,未经许可不得转载。

        随着快速变化的商业环境,对于任何组织来说即时处理业务事件都是保持竞争力的至关重要的环境。目前,代码、多节点部署、系统快速更新的复杂性都阻碍了企业实现实时流处理的潜力。WSO2通过其下一代分析产品——WSO2流处理引擎使其更加简单,将实时流处理提升到了一个新的水平。

        本文讨论了第一代流处理解决方案中遇到的挑战,并进一步介绍了WSO2流处理引擎的实现方式,以及其解决的问题以及它为什么应该成为实时流处理引擎的首选。

简介

        在当今竞争激烈的环境中,业务创新的步伐正在加快。为了获得竞争优势并赢得客户,公司需要对新市场趋势、客户行为和环境格局迅速进行反馈和响应,因此具有数据处理并能在短暂的时间内做出决策的能力是非常重要的。流处理(流分析)提供了进行实时决策的能力,是敏捷业务的重要组成部分。

        流处理系统允许通过实时接受事件,处理事件,形成摘要、生成报警来了解当前环境。这有助于对各种市场事件快速作出反应,为他们提供竞争优势来保持领先。

为什么建立一个流处理引擎这么困难

        第一代流式分析产品(如Apache Storm)旨在帮助开发人员在通用的编程语言中实现流处理管道。这使开发人员可以灵活地实现任何需求。它还提供了以分布式方式部署实现代码的平台,这样他们可以大规模地运行流处理。

        然而,第一代流处理引擎存在两个挑战:

         1.当今企业有不断变化的要求适应。因此,用传统语言编写流处理逻辑很困难。需求变更会更改相关功能和代码修改,这是一项耗时的任务。

         2.为了流畅的运行流应用,市场上现有的大多数流处理引擎需要多到5至6个节点来设置生产环境。这是一个复杂且不便于维护的过程。

为什么WSO2流处理使得流处理更加简单

        WSO2目标就是解决快速开发、快速需求变更带来的挑战。我们尽可能的把控制权交给业务员用户,来帮助他们独立的微调他们的系统,例如管理一些规则,从而通过无缝的敏捷流程优化日常业务运营。

        WSO2流处理引擎通过多种传输方式来收集多种消息格式的事件。它使用流式 SQL来处理数据流、检测复杂事件模式并使用机器学习模型进行预测。它还可以即时生成处理的结果并作为警报进行通知,并通过实时交互多维度展现的Dashboard对其进行可视化。

        WSO2通过仅以2个节点部署,降低了部署的复杂程度,并提供了高可用性的流处理来使得企业更具有竞争性。

        WSO2流处理引擎是一个轻量级、开源、高性能的流处理平台,其能够支撑流式SQL查询,以便支持实时抓取、分析、处理和操作。这有助于实时的、智能的、洞察业务和数据的产品,凭借WSO2流处理引擎的简单部署来适应快速变化的能力,企业现在可以更快的进入市场并获得更高的投资回报率。

        WSO2流处理引擎以三种方式简化了流处理应用的生命周期:

     1.快速部署

        开发者现在可以更快地构建可靠且高性能的流应用程序。这是通过Siddhi流处理引擎和复杂事件处理引擎实现的,该引擎是WSO2 流处理的核心。它还包括:

        a.易于使用流式 SQL语言,因为开发者已经非常熟悉SQL语言及数据库

        b.通过Siddhi实现流处理运算操作的强大工具包,例如过滤、窗口、聚类、摘要、状态机和事件关联。

        c.支持50种算法扩展,支持更复杂的用例,例如地理位置处理、自然语言处理、机器学习、异常检测等等。

        d.支持处理事件,并通过常用的协议,如HTTP、Email、Kafka、MQTT、JMS、TCP发出警告,并支持文件类型如XML、JSON、文本、二进制和Key-Value的消息。

        e.开箱即用的集成了流行的数据存储系统,如RDBMS数据库、Apache Solr、MongoDB、Apache HBase、Hazelcast等。

        下面代码段说明了如何计算每个cookie生产线上每个事件到达时每个小时生产总量,并在过去30分钟内生产总量降低5%以下发出报警。

Figure 1: Sample Siddhi Query

        为了开发者使用起来更简单,Stream Processing Studio具有自动编译,语法高亮,并在创建流应用程序时提供集成的文档帮助。当开发者开发程序时,通过提供随机数、CSV、数据库数据回放的方式来支持模拟。同时提供了调试功能,以便帮助开发人员在开发期间发生逻辑错误时进行调试。

Figure 2: Stream Processing Studio

        2.简易部署

        应用生命周期最重要的一个方面就是部署。WSO2仅需要2个节点即可作为流处理所需要的最少节点数,因此部署变得非常简单。因为生产部署至少需要两个节点才能保证高可用性。然而,这种简化的部署方式并不能以牺牲性能为代价。为了确保达到最好的性能,WSO2嵌入了Siddhi流处理引擎。这样,在JVM内每秒能够处理超过2M个事件,在网络情况下支持每秒900K个事件支持简单的流式查询。对于复杂的事件处理场景,它可以轻松地处理每秒超过100K个事件。

        当然,在物联网分析或设备监控等场景中,有一些用力超出了每秒100K事件的基准测试。对于这样的用例,可以使用Apache Kafka将多个流处理节点连接到一个集群中,这样,WSO2流处理提供了一个平台可以让你实现低延迟、零宕机的事件处理,每天处理事件超过30亿。

        由于流处理系统是有状态的,传统的流处理系统强制开发者重做应用以实现可伸缩性。为了解决这个问题,WSO2流处理可以智能的决定是否以扩展的方式进行部署。对于熟悉系统并希望获取控制扩展的用户,他们可以对Siddhi应用进行注释,以便提供扩展的一些更加简洁的信息而无需重写应用程序。

DevOps遇到的一个挑战就是在一些为了新功能或修正bug而进行的升级系统时必须修改一些配置,通过使用WSO2更新管理(WUM)和WSO2流处理的单一配置文件就可以解决这个问题,需要做的就是使用WUM更新包并替换单个配置文件。

Figure 3: Status Dashboard

        分布式系统本质上容易出现故障,WSO2流处理引擎也不例外。当节点加入或离开集群,就容易发生自动恢复或重新部署的逻辑问题。如果没有适当的集群概览并了解细节,DevOps将无法隔离出现问题的组件并采取主动措施。系统的可由Dashboard进行观察,Dashboard不仅监视其JVM运行状况,还通过深入分析部署的每一个查询元素的性能来监视流处理节点。

    3.业务人员自主控制与数据全知

        业务员人员讨厌提出需求变更并等待着开发人员交付解决这些问题。为了解决这个痛点,WSO2流处理有效的促进了协作,构建需求变更的开发人员可以通过预先达成共识的配置、参数、简单条件作为约束,允许业务员用户修改业务逻辑。这样,开发人员和业务员经历的生活变得更加简单,因为现在他们的系统可以由业务经理直接访问并自己更改执行逻辑,而不需要等待漫长的交付。通过业务用户配置规则时自动部署托管规则,从而将开发简洁性提升到新水平。

Figure 4: Managed Business Rules UI

        一个分析系统如果不能多维度展现分析内容,则是不完整的。WSO2流处理包含了一个可自定义的Dashboard,允许业务员用户编写自己的的视图。它还配备了一个生成向导帮助他们构建自己的图标,以便更好的帮助他们了解数据。在访问数据时,所有的组织机构都有自己的隐私规则,WSO2的Dashboard强制要求基于角色权限来访问dashboard。

Figure 5: Interactive Dashboard

        不同的组织结构对于数据可视化有着自己的偏好,也需要访问原始数据来与他们已有的系统进行深度的融合。WSO2流处理提供丰富的REST API构建方式来支持开箱即用的数据和系统集成。

让我们开始吧!

使用WSO2流处理引擎,您可以在不到10分钟的时间内开始使用并创建实时流应用程序。请参阅快速入门指南以开始使用。

WSO2流处理器可以更快的构建复杂的、企业级的流处理分析解决方案,以及轻松的部署管理。有关更多的详细信息,或尝试其他功能,请尝试教程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341