Rill Flow Documentation
repository·main·Indexed 19 days ago
https://github.com/weibocom/rill-flowA high-performance, scalable distributed workflow orchestration service for heterogeneous distributed systems. Rill Flow supports visual process orchestration, cloud-native container deployment, and integration with LLM services (AIGC). It includes a Vue3-based Flow Graph Frontend, a management UI, and supports both Python and Java executors, as well as a flow-let sidecar for HTTP microservices.
What's inside Rill Flow
- Flow Graph is a frontend project developed using Vue3 and the X6 graph editing engine. It is designed for graph-based editing and visualization.
Prerequisites for Flow Graph Frontend
mainBefore developing with Flow Graph Frontend, ensure you are familiar with the following technologies:
- Core Runtime/Build: Node.js, Git, and Vite.
- Frontend Framework: Vue3 and TypeScript.
- UI & Graphing: Ant-Design-Vue (UI library) and Graph Editing Engine X6 (graphing engine).
- Micro-frontends: QianKun.
- Language: ES6+ syntax.
Prerequisites for Flow Graph development
mainTo develop or contribute to Flow Graph, you should be familiar with the following technologies:
- Runtime/Build Tools: Node.js, Git, and Vite
- Core Frameworks: Vue3 and TypeScript
- UI & Graphing: Ant-Design-Vue and X6 Graph Editing Engine
- Micro-frontends: QianKun
- Language: ES6+
QuickStart: Install Rill Flow via Docker-Compose
mainTo run Rill Flow locally, ensure you have Docker and Docker-Compose installed on an OSX or Linux environment. Follow these steps to deploy the services:
Clone the repository:
git clone https://github.com/weibocom/rill-flow.gitNavigate to the docker directory and start the services:
cd rill-flow/docker docker-compose up -dNote: If using Docker Compose V2, use
docker composeinstead ofdocker-compose.Verify the installation by checking the container status:
docker-compose ps
Expected running services include
rill-flow-mysql,rillflow_cache_1,rillflow_jaeger_1,rillflow_rill-flow_1,rillflow_sample-executor_1, andrillflow_ui_1.git clone https://github.com/weibocom/rill-flow.git cd rill-flow/docker docker-compose up -dQuickstart: Install and deploy Rill Flow via Docker Compose
mainTo run Rill Flow locally, you need an OSX/Linux environment with Docker and Docker-Compose installed. Follow these steps to deploy the service using the provided Docker configuration:
Clone the repository:
git clone https://github.com/weibocom/rill-flow.gitStart the services: Navigate to the
dockerdirectory within the cloned repository and run the compose command:cd rill-flow/docker docker-compose up -dNote: If you are using Docker Compose V2, use
docker composeinstead ofdocker-compose.Verify the installation: Run
docker-compose psto ensure all services are in theUpstate. Expected services includerill-flow-mysql,rillflow_cache_1,rillflow_jaeger_1,rillflow_rill-flow_1,rillflow_sample-executor_1, andrillflow_ui_1.
git clone https://github.com/weibocom/rill-flow.git cd rill-flow/docker docker-compose up -dPrepare the development environment for Rill Flow UI
mainBefore developing or running Rill Flow UI, ensure you have the following tools and technologies installed or are familiar with them:
- Runtime/Tools: node, git, and pnpm
- Build Tool: Vite
- Frontend Framework: Vue3
- Language: TypeScript and ES6+
- Routing: Vue-Router-Next
- UI Library: Ant-Design-Vue
- Micro-frontend Framework: QianKun
Build the Java Executor Docker image
mainTo create a Docker image for the Java executor, use the provided Rill Flow packaging script located at
executor-web/docker/build_image.sh.sh build_image.shRun and build Flow Graph
mainOnce dependencies are installed, use the following
pnpmcommands to run the development server or build the production assets.Run development server
pnpm serveBuild for production
pnpm build:prodpnpm serve # or pnpm build:prodInstall and run Flow Graph Frontend
mainFlow Graph Frontend is a Vue3-based application utilizing the X6 Graph Editing Engine. To set up your development environment, follow these steps:
- Install nvm (Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash - Install Node.js v18.19.0 and set it as the default:
nvm install v18.19.0 nvm alias default v18.19.0 - Install pnpm globally:
npm install -g pnpm --registry=https://registry.npmmirror.com - Install dependencies in the
flow-graphdirectory:cd flow-graph pnpm install - Run the development server:
pnpm serve - Build for production:
pnpm build:prod
cd flow-graph pnpm install pnpm serve- Install nvm (Node Version Manager):
Execute and Monitor a Flow
mainAfter defining a flow, you can trigger its execution and monitor results:
- Test Execution: In the Flow Definition page, click the Test button, provide the required parameters, and click Submit.
- View Results: Upon submission, you will be redirected to the execution details page.
- Execution Records: To see a history of runs and their statuses, click the Execution Records button.
Install dependencies and run Rill Flow UI
mainNavigate to the
rill-flow-uidirectory to install project dependencies and start the development server or build the production bundle.Install dependencies
cd rill-flow-ui pnpm installRun development server
pnpm serveBuild for production
pnpm build:prodcd rill-flow-ui pnpm install pnpm serve pnpm build:prodDeploy the Java Executor on Kubernetes
mainYou can deploy the Java executor to a Kubernetes cluster by modifying the provided deployment sample YAML file located at../../docs/samples/executor/deploy-sample-executor.yamland then using standard Kubernetes deployment commands.