15 knowledge objects (log, note, index, module, history) migrated to C3 knowledge schema v1. Bodies unchanged, metadata preserved.
69 lines
2.6 KiB
Markdown
69 lines
2.6 KiB
Markdown
---
|
|
id: object/b909ccbc-f7cf-7f71-46ea-817f0b697d35
|
|
type: arch
|
|
role: module
|
|
representation: canonical
|
|
state: current
|
|
knowledge_schema: 1
|
|
_organized: true
|
|
---
|
|
|
|
# Modul-02-RabbitMQ — Betriebsdokumentation
|
|
|
|
> Erstellt: 20.08.2026 (Rain Ocampo) · Status: ✅ In Betrieb (healthy)
|
|
|
|
## Zweck
|
|
Zentrale Event-Bus / Message-Queue des Modul-Trading-Systems. Verteilte Kommunikation zwischen
|
|
den Modulen über Topics/Exchanges. Keine Strategie, keine Orders — nur zuverlässige
|
|
Nachrichtenvermittlung.
|
|
|
|
## Container
|
|
| Attribut | Wert |
|
|
|----------|------|
|
|
| Name | `Modul-02-RabbitMQ` |
|
|
| Image | `rabbitmq:3-management` (RMQ 3.13.7) |
|
|
| Ports | **55672** (AMQP, Host) / **15672** (Management-UI, Host) — beide nur intern |
|
|
| Netzwerk | `trading-modules` (bridge) |
|
|
| IP (intern) | `10.0.13.7` |
|
|
| Restart | `unless-stopped` |
|
|
| Status | ✅ `healthy` |
|
|
|
|
## Credentials (Compose Env)
|
|
| Variable | Wert (Default) | Zweck |
|
|
|----------|---------------|-------|
|
|
| `RABBITMQ_DEFAULT_VHOST` | `trading` | **Default-vhost `trading`** (wichtig!) |
|
|
| `RABBITMQ_DEFAULT_USER` | `trading` | Default-User |
|
|
| `RABBITMQ_DEFAULT_PASS` | `trading` | aus `.env`-Defaults `${VAR:-default}` |
|
|
|
|
## Konfiguration
|
|
- **Image:** `rabbitmq:3-management` (inkl. Management-Plugin für UI/Diagnose)
|
|
- **Docker-interner Servicename:** `Modul-02-RabbitMQ` (von anderen Modulen so referenziert, keine feste IP)
|
|
- **AMQP-Port intern:** 5672 (Host: 55672)
|
|
- **Management-Port intern:** 15672 (Host: 15672)
|
|
- **vhost `trading`** — alle Trading-Module nutzen diesen Vhost
|
|
|
|
## Exchanges & Routing-Keys
|
|
Siehe `modul-03-market-data.md` → Exchange `market.data` (topic, durable).
|
|
|
|
| Routing-Key | Event-Typ | Wann |
|
|
|-------------|-----------|------|
|
|
| `market.data.ready` | `MARKET_DATA_READY` | Batch/Import — EIN Event pro Batch |
|
|
| `market.data.candle.closed` | `MARKET_CANDLE_CLOSED` | Live — pro abgeschlossener Kerze |
|
|
|
|
- Eventschema v1.0: `event_id, event_type, event_version, timestamp, symbol, asset_class, timeframe, provider` + payload.
|
|
|
|
## Verbraucher/Produzenten
|
|
- **Produzent:** Modul-03-Market-Data (publiziert `market.data.*`)
|
|
- **Konsumenten:** Modul-04 ff. (Market Regime, Strategy Engine, Signal Ranking, …) — siehe jeweilige Modul-Doku
|
|
- **Consumer-Regel:** `queue_delete` beim Start gegen Zombies (alte, hängende Consumer-Queues entfernen)
|
|
|
|
## Sicherheit
|
|
- Creds nur via Environment Variables / Docker-Secrets (Compose `${VAR:-default}`), nie in Doku-Repos hartkodiert
|
|
- Ports 55672/15672 nur intern — kein unnötig öffentlicher Port
|
|
|
|
---
|
|
```
|
|
Geändert von: Rain Ocampo
|
|
Datum: 20.08.2026
|
|
Grund: Modul-02-Dokumentation nachgetragen (lief bereits produktiv, fehlte in Repo).
|
|
```
|