Litestack - 1개의 Ruby 젬으로 전체 데이터 인프라를 구축
(github.com/oldmoe)- Ruby 및 Ruby on Rails 애플리케이션에서 웹 애플리케이션 데이터 인프라를 위한 올인원 솔루션을 제공하는 Ruby gem
- SQLite의 강력한 기능과 내장형 특성을 활용하여 다음과 같은 기능을 하나의 패키지로 제공함
- SQL 데이터베이스: 완전한 SQL 지원
- 캐시: 빠른 캐시 기능
- 잡 큐: 견고한 작업 큐
- 메시지 브로커: 신뢰할 수 있는 메시지 전달
- 풀텍스트 검색 엔진: 강력한 검색 기능
- 메트릭 플랫폼: 애플리케이션 성능 분석 도구
Litestack의 주요 장점
- 성능 및 효율성:
- 별도의 서버 및 데이터베이스가 필요한 기존 방식과 달리, Litestack은 임베디드 데이터베이스와 캐시를 통해 메모리 및 CPU 사용량을 줄임
- 간소화된 개발 프로세스:
- 간단한 인터페이스로 개발 과정이 단순화됨
- 비용 절감:
- 별도의 서버 유지 비용 감소
- 통합 솔루션:
- 별도의 도구 및 서비스 없이 하나의 gem으로 다양한 기능 제공
Litestack가 대체하는 서비스들
Ruby on Rails 애플리케이션에서 다음과 같은 서비스를 대체 가능함:
- 데이터베이스 서버 (예: PostgreSQL, MySQL)
- 캐시 서버 (예: Redis, Memcached)
- 잡 프로세서 (예: Sidekiq, Goodjob)
- Pub/Sub 서버 (예: Redis, PostgreSQL)
- 풀텍스트 검색 서버 (예: Elasticsearch, Meilisearch)
Fiber 기반 IO 프레임워크와의 호환성
- Fiber 기반 IO 프레임워크(예: Async 또는 Polyphony)가 감지되면, Litestack은 캐시와 큐를 위한 백그라운드 워커를 자동으로 Fiber로 전환
- 이를 통해 CPU와 메모리 사용량을 추가로 줄이며, 프레임워크의 기존 구조와 원활하게 작동