Comments (3)
Here in the next release of the siddhi operator, we are planning to change the siddhi parser REST endpoint to create failover siddhi apps.
The request of the endpoint will contain a siddhi app like below.
@App:name("MonitorApp")
@App:description("Description of the plan")
@sink(type='log', prefix='LOGGER')
@source(
type='http',
receiver.url='http://0.0.0.0:8080/example',
basic.auth.enabled='false',
@map(type='json')
)
define stream DevicePowerStream (type string, deviceID string, power int);
@sink(type='log', prefix='LOGGER')
define stream MonitorDevicesPowerStream(sumPower long);
@info(name='monitored-filter')
from DevicePowerStream#window.time(100 min)
select sum(power) as sumPower
insert all events into MonitorDevicesPowerStream;
And the parser will divide this siddhi app to partial siddhi app (passthrough and process apps).
Passthrough App
@App:name("MonitorApp-0")
@source(type='http', receiver.url='', basic.auth.enabled='', @map(type='json'))
define stream passthroughDevicePowerStream (type string, deviceID string, power int);
@sink(type='nats',cluster.id='example-stan',destination = 'FailoverMonitorApp_DevicePowerStream', bootstrap.servers='nats://example-nats:4222',@map(type='text'))
define stream DevicePowerStream (type string, deviceID string, power int);
from passthroughDevicePowerStream select * insert into DevicePowerStream;
Process App
@App:name("MonitorApp-1")
@source(type='nats',cluster.id='example-stan',destination = 'FailoverMonitorApp_DevicePowerStream', bootstrap.servers='nats://example-nats:4222',@map(type='text'))
define stream DevicePowerStream (type string, deviceID string, power int);
@info(name='monitored-filter')
from DevicePowerStream#window.lengthBatch(3)
select sum(power) as sumPower
insert all events into MonitorDevicesPowerStream;
Note that here by default siddhi operator uses NATS streaming as the messaging layer.
from siddhi-operator.
Fixed in #34 by Buddhi..
from siddhi-operator.
Added support with #35
from siddhi-operator.
Related Issues (20)
- There is no way to view the partial apps after a distributed deployment HOT 1
- Missing the Readiness and Liveness probes after deployment update
- [Doc] Create a doc about how to deploy Siddhi apps in openshift using Siddhi operator
- Disable automatic ingress creation not working
- Use K8s stateful set instead of deployment for stateful Siddhi runner deployments
- Have a consistent way to handle HTTP traffic in distributed deployment
- Need to have common build script for operator build and create artifacts
- Adding resource limits for the deployments
- Test Siddhi against NATS Operator v0.6.0
- Find out the usage of K8s job for Siddhi parser
- No artefacts for 0.2.2-RC2 HOT 1
- Fix NATS-Streaming Operator version in docs HOT 1
- Print error log when automatic NATS creation fails in the non-distributed mode of Siddhi operator
- Duplicate cms when yaml file is edited and pod restarted in k8s
- Security Issues in siddhi operator Image due to older golang versions. HOT 13
- Issue in building image from source HOT 1
- Unable to deploy custom Siddhi Apps on a Kubernetes cluster as documented HOT 2
- Stateful Siddhi Application fails deployment if persistence volume is unavailable
- Support for mounting volume mounts to Siddhi instance
- Events are potential to loss when NATS becomes unavailable in the Distributed mode HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from siddhi-operator.