c't 7/2023
S. 140
Wissen
Webservices mit C++
Bild: Michael Vogt

Sportlicher Dienstbote

Webservices in C++ programmieren mit Boost.Beast

Es müssen nicht immer fette Frameworks wie Django, Rails oder Spring Boot zum Entwickeln von Webdiensten sein. Wer Wert auf Geschwindigkeit legt, fährt mit C++ und einer effizienten Bibliothek anstelle von Python, Ruby oder Java womöglich besser. Eine Einführung in die Beast-Bibliothek von Boost.

Von Oliver Lau

Webservice-Frameworks wie Django, Rails oder Spring Boot sind so komplex, dass man sich leicht darin verirren kann. Außerdem verführen sie dazu, viele API-Funktionen zu einem monolithischen Block zusammenzufügen, der nur schwer zu warten ist. Deshalb sind Microservices eine gute Idee: Sie erledigen höchstens eine Handvoll Aufgaben. So entsteht leicht wartbarer Code, der unabhängig von anderen Services implementiert, gepflegt und in Betrieb genommen werden kann.

Wenn obendrein Performance wichtig ist, bietet sich eine systemnahe Sprache wie C++ an. Für die im Folgenden besprochene Implementierung eines rudimentären Micro-Webservices haben wir uns für die Bibliothek Beast aus dem plattformübergreifenden C++-Framework Boost entschieden. Sie ist „header-only“, besteht also nur aus Header-Dateien, was dem Compiler beim Optimieren hilft.

Kommentare lesen (1 Beitrag)