Seminar Apache bRPC Grundlagen und Architektur

<h2>Inhaltsübersicht</h2>

<ul>

<li>Abstract</li>

<li>Zielgruppe</li>

<li>Voraussetzungen</li>

<li>Inhalte</li>

<li>Praxisübungen</li>

<li>Rahmen</li>

<li>Kompetenzen</li>

<li>Optionale Vertiefungen</li>

</ul>

<h2>Abstract</h2>

<p>Ein praxisorientierter Einstieg in Apache bRPC: Architektur, Kernkonzepte und der Weg vom Build bis zum ersten produktionsnahen RPC‑Service in C++.</p>

<h2>Zielgruppe</h2>

<ul>

<li>C++‑Entwickelnde, die RPC‑basierte Services entwickeln oder betreiben</li>

<li>Architekt:innen im Umfeld Microservices, verteilte Systeme und APIs</li>

<li>Platform‑/SRE‑Rollen, die Grundlagen für Betrieb und Fehlersuche benötigen</li>

</ul>

<h2>Voraussetzungen</h2>

<ul>

<li>Solide C++‑Kenntnisse (Build‑Toolchain, Includes/Linking, RAII)</li>

<li>Grundlagen zu Netzwerk, TCP, HTTP sowie Client‑Server‑Kommunikation</li>

<li>Optional: Erfahrung mit Protobuf oder gRPC ist hilfreich, aber nicht zwingend</li>

</ul>

<h2>Inhalte</h2>

<h3>Modul 1: Überblick und Systemmodell</h3>

<ul>

<li>Positionierung von bRPC in Service‑Architekturen (RPC, REST, Hybrid‑Ansätze)</li>

<li>Bausteine: Server, Service, Channel, Controller, Closure/Callback</li>

<li>Synchronous vs. asynchronous Verarbeitung und typische Einsatzmuster</li>

</ul>

<h3>Modul 2: Protokolle und Schnittstellen</h3>

<ul>

<li>Protobuf‑basierte Services: IDL‑Grundlagen, Request/Response‑Modelle</li>

<li>Mehrprotokoll‑Betrieb: HTTP/HTTPS und weitere Protokolle auf einem Port (Konzept und Grenzen)</li>

<li>Fehlercodes, Timeouts, Retries und Idempotenz als Basis für robuste APIs</li>

</ul>

<h3>Modul 3: Nebenläufigkeit und Laufzeit</h3>

<ul>

<li>Threading‑Grundlagen in bRPC: Worker‑Threads und M:N‑Konzepte mit bthread</li>

<li>Wichtige Parameter (z. B. globale Concurrency) und deren Auswirkung auf Latenz/Throughput</li>

<li>Ressourcenmodell: Memory‑Ownership, Lebenszyklen von Request/Response, sichere Callback‑Strukturen</li>

</ul>

<h3>Modul 4: Built‑in Services für Sichtbarkeit und Diagnose</h3>

<ul>

<li>Status‑ und Variablenansichten (Konzept von /status und /vars) für Runtime‑Einblicke</li>

<li>Connection‑Übersichten und RPC‑Tracing (Konzept von /connections und /rpcz)</li>

<li>Einführung in Profiler‑Services (CPU/Heap/Contention) und sinnvolle Einsatzzeitpunkte</li>

</ul>

<h2>Praxisübungen</h2>

<h3>Übung 1: Entwicklungsumgebung und Build</h3>

<ol>

<li>Toolchain prüfen (Compiler, CMake, Abhängigkeiten) und ein minimales Projektgerüst anlegen</li>

<li>bRPC in das Build einbinden und einen leeren Server‑Skeleton kompilieren</li>

<li>Lokalen Start, Health‑Check und sauberes Shutdown‑Handling verifizieren</li>

</ol>

<h3>Übung 2: Hello‑RPC mit Protobuf</h3>

<ol>

<li>Ein kleines Protobuf‑Schema definieren (Request/Response, Service‑Interface)</li>

<li>Server‑Implementierung erstellen und Service registrieren</li>

<li>Client‑Channel konfigurieren, ersten Call ausführen, Fehlerfälle testen (Timeout/Fehlercode)</li>

</ol>

<h3>Übung 3: Baseline‑Observability</h3>

<ol>

<li>Built‑in Services aktivieren und grundlegende Laufzeitdaten interpretieren</li>

<li>Eigene Zähler/Metriken als bvar‑Konzept ergänzen und sichtbar machen</li>

<li>Ein reproduzierbares Troubleshooting‑Mini‑Runbook aus den Beobachtungen ableiten</li>

</ol>

<h3>Übung 4: Synchronous vs. asynchronous Verarbeitung</h3>

<ol>

<li>Service‑Methode in synchroner Variante implementieren und Verhalten messen</li>

<li>Asynchrone Variante mit Callback/Closure umsetzen</li>

<li>Unterschiede bei Thread‑Nutzung, Latenz und Fehlerbehandlung dokumentieren</li>

</ol>

<h2>Rahmen</h2>

<ul>

<li>Empfohlener Zeitbedarf: 2 Tage</li>

<li>Begründung zur Dauer: Grundkonzepte, Build/Tooling und mehrere Hands‑on‑Übungen benötigen zusammen ausreichend Zeit für Wiederholung, Fehleranalyse und saubere Patterns.</li>

<li>Format: Präsenz oder Live‑Online, hoher Übungsanteil</li>

<li>Teilnehmendenzahl: ideal 6–12 für intensives Pairing und Reviews</li>

</ul>

<h2>Kompetenzen</h2>

<ul>

<li>bRPC‑Architektur und zentrale Komponenten sicher einordnen</li>

<li>Einen funktionsfähigen RPC‑Service in C++ erstellen und testen</li>

<li>Grundlegende Robustheitsmechanismen (Timeout, Retries, Idempotenz) anwenden</li>

<li>Diagnose‑Werkzeuge von bRPC strukturiert für Fehlersuche nutzen</li>

</ul>

<h2>Optionale Vertiefungen</h2>

<ul>

<li>Einführung in Naming Services und Client‑seitiges Load Balancing</li>

<li>Grundlagen der Protokoll‑Erweiterbarkeit und Mehrprotokoll‑Gateways</li>

<li>Erste Performance‑Messungen und einfache Optimierungshebel</li>

</ul>

Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.de All rights reserved. | Kontakt | Impressum | Nach oben