9. Architecture Decisions

Important, expensive, large scale or risky architecture decisions including rationales. With “decisions” we mean selecting one alternative based on given criteria.

9.1. 001: Upload Metadata

9.1.1. Status

Accepted

9.1.2. Context

The current process for uploading metadata and images includes multiple required steps that are resource intensive and is not reasonable for a single API call.

Diagram

9.1.3. Decision

Propose a new process using temporary storage, RabbitMQ, and containerized processors, running in existing kubernetes cluster, monitoring the queue.

Diagram

9.1.4. Consequences

Pros
  • Able to handle significantly larger volumes of metadata and images

  • Disconnected services can be scaled independently

Cons
  • Requires additional infrastructure

  • Requires the collection creation page to monitor a queue for completion