읽기 설정

네, 룸이파이를 개발하기 위해 pewter를 사용하고 있는데, 실제로 어떤 방식으로 무거운 작업을 처리하나요? 그리고 왜 전통적인 SQL 데이터베이스나 클라우드 서비스 제공업체 대신 pewter의 도구를 사용해야 할까요?

일반적인 앱을 만들 때, 보통 서버를 임대하시고, Postgres를 설정하시고, 이미지 저장을 위한 S3 버킷을 관리하시고, 또 API 키를 12개 정도 다루셔야 시작할 수 있습니다.

페워터는 모든 요소가 별도의 설정 없이 바로 상호 작용할 수 있는 통합된 환경을 제공합니다. 그래서 제가 저희가 사용할 세 가지 핵심 원칙을 빠르게 소개해 드리겠습니다. 우선, kv 제로 구성이 있습니다.

룸피와이 같은 앱의 데이터베이스는 복잡한 SQL 테이블과 조인이 반드시 필요하지 않아요. 프로젝트 데이터를 빠르고 간단하게 저장하고 불러오면 되는 거죠.

pewter.kv는 키-값 저장소입니다. 아주 빠른 사전이라고 생각하시면 됩니다. 프론트엔드에서 pewter.kv.set를 호출하면 클라우드에 저장됩니다.

서버도 연결 문자열도 필요 없습니다. 그리고 가장 좋은 점은, 각 사용자가 자신만의 주석 계정에 데이터를 저장하므로, 인프라 비용은 그대로 유지됩니다.

사용자 수가 아무리 많더라도 0에서 시작하는 경우, 이미지 저장 및 전송을 위한 파일 시스템과 호스팅이 필요합니다. 이미지는 용량이 크기 때문에 데이터베이스에 억지로 넣으면 속도가 느려질 수 있습니다.

보통은 AWS S3와 같이 백엔드 서명 및 권한 설정이 필요한 서비스를 사용하시겠지만, 여기서는 이미지 파일을 저장하기 위해 Pewter File System을 사용하고, Pewter Hosting을 통해 제공하고 있습니다.

파일 시스템이 사용자의 클라우드 저장 공간에 파일을 기록합니다.

호스팅 기능은 해당 폴더를 즉시 실시간 URL로 변환시켜 줍니다. roomify-xyz.pewter.site 와 같은 형태로 만들 수 있죠. 프론트엔드를 떠나지 않고도 전문가 수준의 이미지 제공이 가능합니다.

그리고 나서 안정적인 백엔드 부분을 담당하는 작업자분들이 계십니다.

그래서 Pewter가 프론트엔드에서 많은 부분을 처리한다면, 왜 Workers가 필요할까요? 음, 클라이언트 측면의 가장 큰 약점은 개인 정보 보호입니다.

피워터 SDK는 사용자 본인의 파일만 볼 수 있도록 허용합니다. 하지만 Roomify 프로젝트를 친구와 공유하고 싶다면, 친구의 브라우저는 사용자의 저장 공간에 접근할 수 없습니다.

워커는 여러분의 백엔드 API 역할을 합니다. 개발자 신분으로 실행되기 때문에 사용자 간의 간극을 메우고 클라이언트에서 민감한 로직을 분리할 수 있습니다.

저희가 사용하는 기술 스택은 이렇습니다. KV는 레코드를 처리하고, FS 플러스 호스팅은 이미지를 관리하며, 워커들은 보안을 담당합니다.

서버 설정은 필요 없이, 기능에만 집중하겠습니다. 그리고 이 과정의 나머지 부분에서는 제가 방금 설명드린 모든 기능들을 어떻게 사용하고 적용하는지 자세히 알려드리겠습니다.

자, 이제 시작해 볼까요.