Real-time actions on data

Maven Central Build status Coverage Status Artifact HUB PR

DemoDocumentationInstallationNu Cloud

image

Nussknacker lets you design, deploy and monitor real time decision algorithms with easy to use GUI.

For stateless use cases we provide lightweight, but scalable and performant engine deploying to Kubernetes. When more advanced, stateful scenarios are needed we can leverage the power and reliability of Apache Flink to make your processes fast and accurate.

Quickstart

If you want to see Nussknacker in action without any other dependencies, you can use embedded engine in Request-response mode (scenario logic is exposed with REST API), just run:

docker run -it -p 8080:8080 -p 8181:8181 -e DEFAULT_SCENARIO_TYPE=request-response-embedded touk/nussknacker:latest

After it started go to http://localhost:8080 and login using credentials: admin/admin. REST endpoints of deployed scenarios will be exposed at http://localhost:8181/scenario/<slug>. Slug is defined in Properties, and by default it is scenario name. Be aware that some things (e.g. metrics) will not work, and this engine is not intended for production use.

If you want to follow step-by-step via more complex tutorials, based on production ready engines, read one of quickstart guides for: Streaming mode on Lite engine or Streaming mode on Flink engine or Request-response mode on Lite engine.

Contact

Talk to us on mailing list or start a discussion

Scala compatibility

Currently, we do support Scala 2.12 and 2.13, we cross publish versions. Default Scala version is 2.13. Docker images (both Designer and Lite Runtime) are tagged with _scala-2.X suffix (e.g. 1.8.0_scala_2.13 or latest_2.12). Tags without such suffix are also published, and they point to images with default Scala version build. Please be aware of that, especially if you use latest image tag.

Flink compatibility

We currently support only one Flink version (more or less the latest one, please see flinkV in build.sbt). However, it should be possible to run Nussknacker with older Flink version.

While we don't provide out-of-the-box support as it would complicate the build process, there is separate repo with detailed instructions how to run Nussknacker with some of the older versions.

Related projects

Contributing

Nussknacker is an open source project - contribution is welcome. Read how to do it in Contributing guide. There you can also find out how to build and run development version of Nussknacker.

License

Nussknacker is published under Apache License 2.0.