Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

How CouchDB and RustFS power Rentivio's property listings

说明与用途

Rentivio 使用 CouchDB 存储动态列表,使用 RustFS 存储照片,避免迁移并通过预签名 URL 加速图像交付。

问题

Managing dynamic property listings and high-volume photo traffic in a small marketplace required flexible data storage without frequent migrations and efficient image delivery.

结果

Rentivio now handles evolving listing data without migrations and serves photo traffic efficiently, keeping API responses small and enabling easy migration to other S3 providers.

工作流

  • 1. On startup, Node.js service creates missing CouchDB databases, design docs, and indexes. 2. When a listing changes, the API sends the document’s current _rev; conflicting edits fail. 3. For photo uploads or views, the API verifies permissions and returns a short‑lived presigned URL. 4. The browser downloads or uploads directly to RustFS using the S3 API. 5. Docker compose brings up all services, including CouchDB and RustFS containers with persistent volumes.

证据

In CouchDB, a listing is a JSON document, so a new field is simply a new field.

来源

The key decision: image bytes never pass through our API.

来源

The app sets up its own database. On startup, our Node.js service creates any missing databases, design documents and indexes.

来源

RustFS speaks the S3 API, we use the standard AWS SDK. Moving to any other S3-compatible provider later is a configuration change, not a rewrite.

来源

  • 记录日期: 2026-10-27T09:11:49.596Z