WSO2 Siddhi存储事件/结果



根据WSO2网站,Siddhi每秒可以处理2.5M个请求,这真的很不错。

我期望将该产品用于事件路由代理。例如:通过http获取请求/处理事件/转发事件以知道目的地。

例:一个顾客买了2公斤大米。POS系统调用在事件处理器上公开的API(SOAP或REST)。CEP检查购买的重量是否大于1kg,在这里是正确的。然后CEP调用A和b的API

我更愿意了解以下关于Siddhi的特征的信息。

对于以下几点,在siddhi中是否有特定的实现?

1),它允许有效/更快地接收来自外部系统的SOAP/REST/任何其他调用。例:在上面的例子中,当大米被购买时,从POS获得呼叫。

2)在特定情况下持久化事件/事件结果,然后在条件场景下进行处理。例如:在上面的例子中,如果API A或B关闭,事件或存储的结果应该被持久化,并在它们启动后发送给API A,B。

谢谢。

  1. WSO2复杂事件处理器有许多不同的适配器,实现各种协议,如HTTP/SOAP/JMS,可用于此需求。有关更多详细信息,请参阅此处有关输入事件适配器的文档。

  2. 在Siddhi中,有"事件表",可用于存储/检索/查询事件。它们存储在像MySQL这样的RDBMS中。关于定义事件表的文档在这里。这里给出了在查询中使用已定义的事件表。此外,示例0109演示了事件表的一个简单用例。

然而,请注意,要实现第二个需求,您可能需要在API启动时向CEP发送一些触发事件,因为CEP需要知道它们何时启动。

作为Siddhi性能的旁注,它主要取决于您编写的查询的类型/复杂性,对于某些类型的查询,您可能无法达到2.5M事件/秒的性能-在这种情况下,使用数据库(事件表)的查询将具有比磁盘访问更低的性能。

最新更新