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

How CouchDB and RustFS power Rentivio's property listings

Описание и применение

Rentivio использует CouchDB для гибкого хранения динамических листингов и RustFS для хранения фотографий, позволяя избежать миграций и ускорить доставку изображений через presigned 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