피드로 돌아가기
Dev.toBackend
원문 읽기
Domain-free Core와 Item Bus 기반의 초확장성 Local AI Ops 플랫폼 BFrost 설계
I built a local AI ops platform where every feature is a plugin and Claude Code writes the plugins
AI 요약
Context
기능 추가 시 기존 코드를 수정해야 하는 강결합 구조로 인한 유지보수 효율 저하 및 리팩토링 부채 누적. 특정 기능이 Core API를 오염시키며 확장성이 저하되는 전형적인 소프트웨어 부패 패턴 발생.
Technical Solution
- src/workers/ 외의 Core 영역을 Domain-free로 유지하는 엄격한 제약 사항 적용을 통한 완전한 디커플링 구현
- Manifest 기반의 Worker 자동 마운트 구조를 통한 등록 보일러플레이트 및 DI 컨테이너 제거
- Producer와 Consumer 사이의 직접 참조를 차단하는 Generic Item Bus 도입으로 다대다 통신 구조 설계
- Consumer별 독립적인 Namespace 기반 Metadata 기록 방식을 통한 데이터 무결성 확보 및 상호 간섭 방지
- esbuild를 활용한 Runtime TypeScript 컴파일 및 캐싱으로 별도 빌드 단계 없는 개발 워크플로우 구축
- Worker별 전용 React Tab을 동적으로 로드하는 플러그인 기반 Dashboard 아키텍처 설계
실천 포인트
- 신규 기능 추가 시 Core 로직 수정이 필요한지 검토하여 플러그인 인터페이스의 완전성 확인 - 컴포넌트 간 직접 호출 대신 Generic Queue나 Event Bus를 도입하여 의존성 방향을 단방향으로 제어 - 설정 파일(Manifest)을 Single Source of Truth로 정의하여 런타임에 동적으로 기능을 구성하는 구조 고려