
베이스캠프가 ONCE Campfire의 레일스(Rails) 앱을 러스트(Rust)로 이식한 구현을 공개했다. 회사의 공식 GitHub 저장소에 따르면 기존 앱의 SQLite 데이터베이스와 파일 저장 디렉터리를 이어 사용할 수 있도록 설계했으며, 웹 프론트엔드는 유지한 채 서버 측 구성 요소를 옮겼다.
프로젝트는 핵심 서버를 하나의 실행 파일로 제공한다. 기존 앱에서 쓰던 Ruby, Puma, Redis, Resque, Thruster를 대체하지만 이미지·동영상 처리에는 libvips와 ffmpeg가 별도로 필요하다. 개발팀은 기존 레일스 앱의 화면과 프로토콜을 비교하는 테스트를 만들고, 의도적으로 바꾼 부분은 저장소에 따로 기록했다.
성능 수치는 프로젝트 측이 공개한 자체 측정 결과다. v0.1.1 벤치마크 보고서에서 같은 데이터와 네 개의 고정 하드웨어 스레드를 사용했을 때, 방 페이지 처리량은 초당 215건에서 2만479건으로, 메시지 게시 처리량은 초당 274건에서 5천452건으로 나타났다. 각각 약 95배와 20배 차이다. 두 구현을 세 차례씩 실행한 중앙값으로, 다른 하드웨어나 실제 운영 환경에서도 같은 차이가 난다는 뜻은 아니다.
이번 공개의 핵심은 새 채팅 서비스를 만든 것이 아니라 기존 Campfire 데이터를 유지하면서 서버 구현을 바꾸는 경로를 제시한 데 있다. 다만 저장소는 기능상 의도된 차이와 배포 의존성을 명시하고 있어, 운영자가 전환을 검토할 때는 해당 항목을 먼저 확인해야 한다.
출처: Basecamp 공식 GitHub 저장소 https://github.com/basecamp/once-campfire-rust · v0.1.1 릴리스 https://github.com/basecamp/once-campfire-rust/releases/tag/v0.1.1 · 자체 벤치마크 보고서 https://github.com/basecamp/once-campfire-rust/blob/main/bench/results/v0.1.1-20260928/report.md









