Skip to content

Infrastructure

RefArch applications are intended to run in a container-based environment. Each deployable unit is packaged as its own container image and operated as an independent service.

Container platform

The platform is responsible for:

  • running the desired number of service instances
  • routing traffic to healthy instances
  • enabling scaling of individual components
  • providing stable service discovery inside the cluster

Container-based runtime topology:

Container-based runtime topology

This setup allows services to communicate through stable internal addresses while the platform manages the actual container instances behind those addresses.

Deployment and configuration

Deployment descriptors and runtime configuration should be treated as code and versioned alongside the application (Infrastructure as Code - IaC). This allows repeatable rollouts and consistent promotion across environments.

Session synchronization for multiple gateway instances

If gateway instances are scaled horizontally, session information can be synchronized across instances so that a planned instance replacement does not invalidate active sessions.

Session synchronization with Hazelcast:

Session synchronization with Hazelcast

The specific RefArch gateway support for this setup is documented in the API Gateway page.

Search as an optional capability

Applications with full-text, fuzzy, geo or analytics-oriented search requirements typically use a dedicated search service instead of pushing those use cases into the transactional database.