Tool to build fully-fledged event-driven applications
Fully open source, cloud native, scalable, streaming, and complex event processing system capable of building event-driven applications for real-time analytics, data integration, notification, and adaptive decision-making usecases.
Event processing logic can be written using Streaming SQL queries via Siddhi graphical and source editor, to capture events from diverse data sources, process and analyze events, integrate with multiple services and data stores, and publish output to various endpoints in real-time.
Agile development experience with SQL like query language and graphical drag-and-drop editor supporting event simulation.
Lightweight runtime that natively runs in Kubernetes via Kubernetes CRD, and works with systems such as NATS, gRPC, and Prometheus.
Embedded event processing within Java, Python applications to running on bare metal, Docker and massively scaling on Kubernetes.
Integrates with messaging systems (NATS, Kafka, JMS), Databases (RDBMS, NoSQL), Services (HTTP, gRPC), File systems, E-mail and others.
Supports development lifecycle and seamless deployments, through simple file-based configurations, automated tests, and CI/CD pipelines.
Battle-tested with billions of events at UBER, eBay, PayPal, HCA, TFL, WSO2 and in many Fortune 500 companies enabling exactly once event processing.
Streaming Data Integration
- Retrieve and publish data from various enterprise systems.
- Perform data transformation on JSON, XML, Text, Avro, and CSV.
- Integrate with databases, services, and realtime event streams.
- Data preprocessing, fault tolerance, and error handling.
Streaming Data Analytics
- Calculate aggregations over time, length, and session windows.
- Long-running time-series aggregations from seconds to years.
- Analyze event occurrence patterns and trends over time.
- Realtime predictions with online and pre-trained ML models.
Alerts & Notifications
- Generate alerts based on static and dynamic thresholds.
- Correlate data to detect event anomalies and missing events.
- Support scheduling, digest, and auto-retry of notifications.
- Publish alerts via various event sinks such as email, and MQs.
Adaptive Decision Making
- Static rule processing via predefined and database based rules.
- Dynamic rule processing through stateful queries and system state.
- Decision making through synchronous RPC (HTTP, gRPC).
- Incremental learning and decision making online ML models.