Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guideDeveloper guideAdmin guide
Company siteHelp center
English
  • Русский
  • English
v72
  • v74
  • v73
  • v72
Login
  • Getting Started
  • Administrator documentation
  • Functional characteristics
  • Technology description
    • Architecture Overview
    • Component Description
    • Deployment schemes
  • System requirements
  • Admin Panel
  • Platform installation
  • Platform configuration
  • Platform maintenance
  • Custom channels guide
  • Extra
  • Processing HTTP/HTTPS traffic
  • Administrator API
This is documentation for Altcraft Platform v72. This documentation is no longer maintained.
The information for up-to-date platform version at this page is available (v74).
  • Technology description
  • Architecture Overview
Documentation for version v72

Architecture Overview

Description​

Altcraft is a scalable marketing automation platform built on a microservice architecture. The microservice approach ensures fault tolerance (a failure of one service does not affect the entire system) and horizontal scalability. All services are written in Go and designed to run in a Linux environment. Some parts of the system can be distributed across network zones (e.g., Internet, DMZ, Data Storage) for increased security. A common practice is isolating databases and MTA (akmtad) in separate segments.

The system requires the following components:

  • MongoDB — the primary database for storing accounts, users, and settings;
  • ClickHouse — stores events, activity history, and analytics;
  • RabbitMQ — message broker for communication between services;
  • SSDB and Kvrocks — high-performance key-value stores for auxiliary data;
  • PostgreSQL (optional) — used in the “Market” module to store products and orders;
  • other standard components available in OS repositories.

User interaction with the system is carried out via a web interface, while traffic routing and SSL termination are handled by the Nginx web server, supplied as a pre-built package with Altcraft. Three Nginx instances run simultaneously, each serving its own traffic type.

A more detailed description of all components is available in a separate article (see System Components).

Main Tasks of the Platform​

User and API Call Handling​

Handled by the webcontrol, webadmin, and api services. Cookies and JWT are used for identification and session storage. Authorization depends on the control panel:

  • webadmin — for administrators (account creation, user and settings management);
  • webcontrol — for users (business logic management).

Marketing Campaign Logic Processes​

Include tasks such as message preparation, customer data processing, and performing requests to external sources or APIs. An example of such a service is procworkflow.

Message Preparation​

Implemented in the proctrigger and campaign services:

  • proctrigger generates trigger (usually transactional) messages;
  • campaign handles mass campaigns and runs on schedule.

Message Delivery​

Messages are pulled from the broker, prepared for sending in a local queue, and delivered according to configured rules and channels. Email delivery is handled by the akmtad service, which can operate as a separate node. Multiple akmtad instances provide scalability and help bypass blocks. SSH is used to speed up deployment.

Customer Action Tracking​

Implemented using pixels, HTTP redirects, and cookies. Access control and scalability are managed via the procrpc RPC service. For handling website and message traffic, several Nginx instances are used: nginx-cookiesaver and nginx-trk.

Event Processing and Analytics​

Data collection, aggregation, and transmission to reports and external services. Nearly all Altcraft services participate in these processes.

Periodic Tasks​

Customer data processing, import, and export are performed on schedule by dedicated Altcraft services.

Utility Applications​

Examples:

  • akd — starts and stops services;
  • altool — performs migrations and manages certain entities created in Altcraft;
  • health — evaluates service health.

Architecture Diagram​

The diagram highlights the main zones where parts of the platform are located:

  • Internet — public segment with limited protection, usually hosting services that accept incoming messages from external sources;
  • DMZ — demilitarized zone for receiving HTTP and SMTP traffic. Services located in the DMZ are isolated and have no direct access to databases;
  • Data Processing — data processing zone where the core business logic of the platform resides. This is where calculations, aggregation, and data transformation occur;
  • Data Storage — secure segment for storing system and customer data (including external sources).

In the diagram, platform components are grouped by functional purpose. Some services run continuously (daemons), others run periodically or on demand (Jobs and Internal Tasks).

  • Campaign & Logic — services for processing marketing campaigns:

    • proctrigger — trigger campaigns;
    • procworkflow — workflow task processing.
  • Event Processing — services for handling events: collection, aggregation, and routing (e.g., tracking clicks).

  • Integration & Delivery — services for message delivery and integration with external systems:

    • procpiper, procintegras — deliver all message types and integrate with cloud services.
  • Web & Tracking — services for processing HTTP traffic and serving content:

    • trkaction, trkread, and others — process tracking requests and serve static content.
  • API & Interface — user and admin interface services:

    • webcontrol — user web interface;
    • webadmin — admin interface;
    • api — REST/HTTP API for external applications.
  • AKMTA — email delivery; managed via node and the admin web interface.

  • ProcTask — handler for periodic and one-off tasks (proctask), accepts gRPC requests.

  • ProcRPC — gRPC service for tracking, providing access to database data.

  • Utility Services — auxiliary system processes (akd, procnotify, node).

  • Internal Tasks — periodic and one-off tasks executed inside services (proctask).

  • Jobs — tasks requiring a separate process launch, such as mailings.

  • Proxy — proxy servers for traffic routing and SSL termination. They can also run behind the customer’s external proxy.

All components support horizontal scaling. However, some services (e.g., procworkflow and proctask) operate in master-worker mode and must be configured properly.

Last updated on Sep 12, 2025
Previous
Technology description
Next
Component Description
  • Description
  • Main Tasks of the Platform
    • User and API Call Handling
    • Marketing Campaign Logic Processes
    • Message Preparation
    • Message Delivery
    • Customer Action Tracking
    • Event Processing and Analytics
    • Periodic Tasks
    • Utility Applications
  • Architecture Diagram
© 2015 - 2025 Altcraft, LLC. All rights reserved.