Skip to content
/ rengine Public

Rengine is a cloud native, distributed, generic rule engine platform.

License

Notifications You must be signed in to change notification settings

wl4g/rengine

Repository files navigation

Rengine

Unified and flexible rules engine platform, naturally suitable for scenarios where rules change frequently, such as real-time or near-real-time financial risk control, e-commerce promotion rules, operation and maintenance monitoring, IoT device alarms, online data cleaning and filtering, etc.

Build on Push Build on Timing Release on Push License GraalVM JVM Mongo Redis Kafka Zookeeper Docker GithubStars Dingtalk

Architectures

  • Global

Requirements

  • JDK 11.x +

  • GraalVM java11-22.1 + (If the needs build executor native image)

  • Maven 3.6 +

  • Spring Boot 2.7.3 (Spring 5.3.22)

  • Quarkus 2.12.2

  • Redis Cluster 6 +

  • Mongo 4.4.6 +

  • MinIO 2021.x +

  • Docker 20.x +

  • Kubernetes 1.21 + (If the needs deploy to kubernetes)

  • Flink 1.16.x + (If the need to run the Flink CEP job to process massive events. Notice: Must >= 1.16+ can support window restrictions)

  • HBase 2.2.x + (Optional, If the needs to store raw events so that can trace back.)

Features

  • Support online coding development rules models, and upload the custom dependency script libraries.

  • Support Executor run by native mode running, Get a hundred times faster startup time (milliseconds) than the traditional JVM, which supports elastic and fast startup under the faas/serverless architecture very well. see: native-image

  • Support Executor built-in multi SDKs(eg: common,tools,datasource,notifier), such as datasource sdk, which can be connected to multiple data-source instances by configuration. More built-in script SDKs to see: devel-executor-scriptsdk.md

  • Support Executor JS(graal.js)(default), Python(beta), R(beta), Ruby(beta), Groovy(planning), etc. Executor supports the unified orchestration and execution of multiple scripting language engines. This is an epoch-making technological revolution, thanks to the powerful multi language runtime of graal.

  • Support Controller actively scheduling invoke workflow graph.

  • Support Controller, ApiServer register connecting to arthas tunnel for easy operator JVM troubleshooting (Only in JVM run mode).

  • Support Job large-scale MMP parallel real-time state recognition based on Flink CEP.

  • Support ApiServer static password login and standard OAuth2/OIDC authentication (the configure multiple), such as keycloak, github, etc.

  • Support the multi-tenancy of based on kubernetes operator (resource shared and isolation), see: rengine-operator (progressing).

  • Support automatic analysis of hit rate reports (progressing).

Quick start

RoadMap

About

Rengine is a cloud native, distributed, generic rule engine platform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages