Overview - AcceleratorKMS - Version 5.1 - Installation & Upgrade - Hexagon

AcceleratorKMS Installation and Configuration

ft:locale
en-US
Product
AcceleratorKMS
Search by Category
Installation & Upgrade
AcceleratorKMS Version
5.1

Core containers and their roles

Container

Role

Kafka

Message/event broker for asynchronous operations.

Zookeeper

Dependency for Kafka, responsible for coordination and maintaining metadata.

NGINX

Reverse proxy and entry point, routes all external requests to the appropriate services.

Solr

The search database engine itself stores and manages indexes, enabling full-text search.

Solr Service

AcceleratorKMS-specific microservice that integrates Solr into workflows, handling search and indexing.

Outbox Monitor

Monitors the application's database for new messages/events and sends them to Kafka.

Service Monitor

Tracks the health and availability of all AcceleratorKMS services.

How it works

  • All services are defined in the docker-compose.yml file.

  • The .env file stores database connection strings and other environment variables.

  • Kafka works in tandem with Zookeeper, and all dependencies are declared in the configuration.

    Services such as Solr, Kafka, and NGINX are critical to the system's operation.

  • NGINX receives all incoming network requests and routes them based on rules defined in nginx.conf.

Example routing:

  • A request to /services/content/search is forwarded to the Solr Service container.

  • A request to /services/status is routed to the Service Monitor.

  • All routing rules are pre-configured in the nginx.conf file within the NGINX container.

Docker volumes: Persistence and Configuration

In the AKMS Docker setup, container images are treated as static:

  • No files are manually copied into containers.

  • No files are edited inside containers.

  • Configuration is handled via environment variables (e.g., connection strings).

Volume Creation

  • Volumes are defined in the docker-compose.yml file or created automatically by Docker.

  • No manual folder creation is required on the local file system.

Volumes in AKMS Services

Service

Uses Volume For

Persistence Required?

Solr

Index storage for full-text search

Yes

Zookeeper

State and coordination data

Yes

Kafka

Topic queues and in-flight messages

Yes

Docker Network

  • A dedicated Docker network named akms-internal is created via Docker Compose.

  • All services communicate within this internal network.

  • Only NGINX exposes ports to the host; all other services remain internal.

To connect from a container to a service running on the host (e.g., 'SQL Server'):

  1. Identify the host service you need to access (e.g., SQL Server).

  2. From inside the container, use the special hostname:

    host.docker.internal

This bridges the container to the host machine.

Runtime Behavior and Lifecycle

  • AKMS services perform dependency checks on startup.

  • Services may take up to a minute to fully initialize and be ready to receive traffic.

  • Solr reindexes content if it detects outdated or missing index files:

    • Deletes existing index

    • Pulls statements from the database

    • Fully rebuilds the text search index