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.
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.
Talk to us on mailing list or start a discussion
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.
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.
- 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-sample-helpers - Sample project showing how to add custom helpers (user defined functions)
- nussknacker-helm - Helm chart of the project
- nussknacker-flink-compatibility - Toolbox providing backward compatibility for older Flink's versions
- 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
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.
Nussknacker is published under Apache License 2.0.