rulego/rulego

⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.

해결하는 문제

RuleGo는 애플리케이션 코드에서 비즈니스 로직을 분리하도록 설계된 가볍고 고성능의 룰 엔진입니다. 개발자는 애플리케이션 재시작 없이 실시간으로 변화하는 비즈니스 요구사항에 대응할 수 있는 유연한 시스템을 구축할 수 있으며, 복잡하거나 자주 변화하는 비즈니스 시나리오에서 비대해지고 유지보수가 어려운 코드 문제를 해결합니다.

작동 방식

비즈니스 로직을 재사용 가능한 노드로 캡슐화하는 컴포넌트 기반 아키텍처를 사용합니다. 이러한 노드들은 방향성 비순환 그래프(DAG)로 표현되는 '룰 체인'에 조직되며, 효율적인 메시지 처리와 라우팅을 보장합니다. 엔진은 기존 Go 애플리케이션 내에 임베디드 라이브러리로 배포하거나, 독립형 미들웨어 서비스로도 사용할 수 있습니다. Go 플러그인을 통해 컴포넌트를 동적으로 로드하고, 룰 체인을 정의하기 위해 JSON 기반 도메인 특화 언어(DSL)를 사용합니다.

대상 사용자

IoT 엣지 컴퓨팅, 데이터 통합 파이프라인, 자동화 워크플로우, 저코드 플랫폼, AI 에이전트 프레임워크(LangFlow 유사 시스템 포함)와 같이 로직을 동적으로 오케스트레이션하고 업데이트해야 하는 시스템을 개발하는 개발자에게 적합합니다.

주요 특징

  • 동적 오케스트레이션: 애플리케이션 재시작 없이 룰 체인 로직을 실시간으로 업데이트하고 비즈니스 노드를 교체할 수 있습니다.
  • 고성능: 코루틴과 객체 풀을 활용해 저비용 장치(예: Raspberry Pi)에도 최적화되어 있습니다.
  • 확장성 있는 아키텍처: Kafka, MQTT, ChatGPT와 같은 타사 서비스와의 통합이나 사용자 정의 컴포넌트 생성을 위한 풍부한 인터페이스를 제공합니다.
  • 이중 배포 모드: 임베디드 및 독립형 배포 모드를 모두 지원합니다.
  • 포괄적인 생태계: 시각적 에디터, 자동화 워크플로우용 서버, AI, IoT, ETL 전용 컴포넌트 라이브러리가 포함되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트