스웨덴 개발자가 디스코드(Discord)와 유사한 오픈소스 채팅 앱, Fluxer를 공개
오픈소스(Open Source), 자가 호스팅(Self-hosting), 그리고 데이터 미저장 정책(Zero-Retention Policy)을 강조하며, 독립적인 플랫폼 구축을 목표로 함
Erlang/OTP 및 Cassandra를 활용한 백엔드 아키텍처(Backend Architecture)와 디스코드(Discord)와의 호환성을 언급
개발자의 경험과 자금 조달 모델(Funding Model), 그리고 커뮤니티 지원에 대한 내용 포함
Fluxer는 디스코드(Discord)의 아키텍처를 참고하여 설계되었으며, Erlang/OTP를 활용한 실시간 시스템(Real-time System)을 구축했다. 특히, Erlang의 핫 코드 스와핑(Hot Code Swapping) 기능을 통해 시스템 중단 없이 코드 변경이 가능하도록 설계했다. 데이터베이스(Database)로는 Cassandra를 사용하며, 자가 호스팅(Self-hosting)을 위한 SQLite 지원도 제공한다. 또한, 웹 소켓(Web Socket) 게이트웨이(Gateway)는 Erlang으로 작성되어 실시간 성능을 최적화했다.
Fluxer는 오픈소스(Open Source)를 지향하며, 사용자가 직접 서버를 운영할 수 있도록 설계되었다. 이는 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 사용자의 데이터 주권을 보장하고, 플랫폼 종속성을 줄이는 것을 목표로 한다. 또한, Fluxer는 데이터 미저장 정책(Zero-Retention Policy)을 통해 사용자 프라이버시(Privacy)를 강화하고, 독립적인 운영을 통해 투자자 중심의 플랫폼과는 다른 가치를 추구한다.
Fluxer는 Cassandra를 사용하여 쓰기 중심의 이벤트 기반 설계를 지원하며, 효율적인 데이터 모델링을 위해 노력했다. Cassandra는 고가용성(High Availability)과 수평적 확장성(Horizontal Scalability)을 제공하며, 스키마 변경(Schema Change) 시 다운타임(Downtime)이 없는 장점을 가진다. 또한, Fluxer는 SQLite를 통해 자가 호스팅 환경에서도 성능을 유지할 수 있도록 설계되었다.
Fluxer 개발자는 LLM(Large Language Model)을 코드 생성(Code Generation)에 제한적으로 활용하며, 코드 검토(Code Review) 및 테스트(Test)를 통해 품질을 관리한다. LLM은 기계적인 작업(Mechanical Tasks)을 가속화하는 데 사용되며, Fluxer의 핵심 아키텍처(Core Architecture) 설계에는 관여하지 않는다. 개발자는 LLM의 결과물을 외부 기여와 동일하게 취급하며, 코드의 이해도와 검증을 강조한다.