Middleware

Middleware

The layer between your application and the database. Pooling, load balancing, and failover are three separate jobs, and the common production mistake is expecting one component to do all three. These guides cover what each tool actually does, with configuration that runs.

How they connect

What each middleware tool depends on, replaces, or pairs with - including the databases and infrastructure it connects to outside this category.

Choose a starting point, then follow a recorded connection.

Use the map to decide what to read next: compare alternatives, look into a listed dependency or find a complementary tool. Lanes group entries by category and sort them alphabetically, so position does not signal importance or a reading order.

These are editorial recorded associations, not live topology or universal dependencies. Each arrow runs from the entry that records a relationship to the entry it names. It does not show traffic, execution order or a verified deployment.

Follow a card to its guide or profile, or open the text view below.

  • Dependency
  • Recorded use
  • Alternatives
  • Complements

This view shows 17 technologies joined by 53 directed records.

How to read this map

Every arrow points from the entry that owns a record to the entry it references. Reciprocal records stay separate, and the line pattern identifies the field, not strength or certainty. The linked guides give the context; a record on its own does not explain technical necessity.

Dependency (dependsOn)
A lists B in dependsOn; check the guide for scope and configuration.
Recorded use (usedBy)
A lists B in usedBy. This is not converted into a dependency claim about B.
Alternatives (alternatives)
A lists B as an alternative to compare, not a guaranteed drop-in replacement.
Complements (complements)
A lists B as a complement, not a requirement to deploy both.

A filled dot leads to a guide or concept explanation; a hollow dot leads to a relationship profile. The number on a card counts its direct records in this view. Selecting a card highlights only those direct records, not a transitive dependency tree.

Technologies appear when they have at least 1 outgoing record before filtering and belong to Middleware. Entries from other categories appear when a listed entry names them as a dependency, use, alternative or complement. Connections to entries outside this view are not drawn, so absence here does not mean that no relationship exists.

Text view: every displayed node and recorded connection

Each sentence names the record owner first, then the referenced entry. A connection appears under both endpoints for lookup, without reversing its meaning. This view and its links work without JavaScript.

Database

MariaDB Database

Open guide: MariaDB

9 direct recorded connections in this view. 4 further records touch entries outside this view.

PostgreSQL Database

Open guide: PostgreSQL

11 direct recorded connections in this view. 23 further records touch entries outside this view.

Infrastructure

etcd Infrastructure

Open guide: etcd

3 direct recorded connections in this view. 9 further records touch entries outside this view.

  • Recorded use / usedByetcd records Patroni in its usedBy list. This is a recorded use association, not an inferred dependency.
  • Complements / complementsetcd lists Patroni as a complement.
  • Dependency / dependsOnPatroni lists etcd as a dependency.

Middleware

Galera Cluster Middleware

Open relationship profile: Galera Cluster

7 direct recorded connections in this view.

HAProxy Middleware

Open guide: HAProxy

15 direct recorded connections in this view.

Patroni Middleware

Open guide: Patroni

14 direct recorded connections in this view.

PgBouncer Middleware

Open guide: PgBouncer

12 direct recorded connections in this view.

Pgpool-II Middleware

Open guide: Pgpool-II

8 direct recorded connections in this view.

Middleware (continued)

ProxySQL Middleware

Open relationship profile: ProxySQL

7 direct recorded connections in this view. 1 further record touches an entry outside this view.

keepalived Middleware

Open guide: keepalived

10 direct recorded connections in this view.

Pattern

Systems

Linux Systems

Open guide: Linux

4 direct recorded connections in this view. 31 further records touch entries outside this view.

  • Dependency / dependsOnHAProxy lists Linux as a dependency.
  • Dependency / dependsOnkeepalived lists Linux as a dependency.
  • Recorded use / usedByLinux records HAProxy in its usedBy list. This is a recorded use association, not an inferred dependency.
  • Recorded use / usedByLinux records keepalived in its usedBy list. This is a recorded use association, not an inferred dependency.

Guides

Pooling & proxying

HA & load balancing

Coordination & observability