Skip to content
Mohamed edited this page Jun 10, 2025 · 4 revisions

QB Actor Framework

High-Performance C++17 Actor Framework for Concurrent & Distributed Systems

Overview

The QB Actor Framework is a modern C++17 library designed for building high-performance, scalable, and robust concurrent and distributed applications. It leverages the Actor Model paradigm and an efficient Asynchronous I/O foundation (qb-io) to simplify the development of complex systems.

QB provides developers with tools to manage concurrency through isolated actors and asynchronous message passing, while handling low-level I/O and system details efficiently.

Target Audience: Experienced C++ developers familiar with concurrency concepts, asynchronous programming, and system design.

Core Philosophy

QB is built upon principles designed for performance and maintainability in concurrent environments:

  1. Actor Model: State encapsulation and asynchronous message passing as the primary means of interaction, reducing complexity associated with shared state and locking. (Read More)
  2. Asynchronous I/O: Non-blocking, event-driven I/O for high throughput and responsiveness, managed by the qb-io layer. (Read More)
  3. Performance: Emphasis on multi-core scalability, efficient messaging (including lock-free mechanisms), and low-overhead abstractions. (Read More)

High-Level Architecture

The framework consists of two main libraries:

  • qb-io: The foundational asynchronous I/O and utilities library. It can be used standalone.
  • qb-core: The actor engine, built upon qb-io, providing the actor implementation, scheduling, and messaging.
+---------------------+      +----------------------+
|    Your Application |      |   Framework Examples |
+----------^----------+      +----------^-----------+
           |                         |
           |  Uses                   |  Uses
           v                         v
+-----------------------------------------------------+
|                     qb-core                         |
|    (qb::Actor, qb::Main, qb::VirtualCore, qb::Event)|
+--------------------------^--------------------------+
                           |
                           | Depends on / Integrates with
                           v
+-----------------------------------------------------+
|                      qb-io                          |
| (async::io, transports, protocols, crypto, utils)   |
+-----------------------------------------------------+
                           |
                           | Uses / Abstracts
                           v
+-----------------------------------------------------+
|          System (libev, Sockets, Files, OS)         |
+-----------------------------------------------------+

Documentation Navigation

This documentation provides a comprehensive guide to the QB framework:

  1. Introduction: Detailed overview and core design philosophy.
  2. Core Concepts: Fundamental ideas behind the framework (Actors, Events, Async IO, Concurrency).
  3. QB-IO Module: Deep dive into the asynchronous I/O library.
  4. QB-Core Module: Detailed exploration of the actor engine.
  5. Core & IO Integration: How actors utilize qb-io features, with example analysis.
  6. Guides: Practical tutorials and pattern implementations.
  7. Reference: Build system, testing procedures, and API summaries.

New Users: Start with the Getting Started Guide.

License

QB Actor Framework is licensed under the Apache License, Version 2.0.

Clone this wiki locally