Real-time actions on data
Demo • Documentation • Installation • Nu Cloud
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 --network host -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
- nussknacker-quickstart - Repository with quick setup (docker-compose or helm) presenting typical usage of Nussknacker
- nussknacker-sample-components - Start here if you intend to create own Nussknacker components
- nussknacker-helm - Helm chart of the project
- nussknacker-flink-compatibility - Toolbox providing backward compatibility for older Flink's versions
- prinz-nussknacker - Nussknacker integration with ML models and model registries - currently supports mlflow, PMML (via JPMML) and H2O Java models
- nussknacker-benchmarks - micro and e2e benchmarks visualization
- flink-scala-2.13 - our patch for Flink, required if you want use Nussknacker built with scala 2.13
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.