Erstellen und Ausführen eines Servers

Ein Server ist das Herzstück Ihrer Webanwendung. Hyperlane macht es einfach, diese zu erstellen und zu verwalten. Sie können je nach Bedarf zwischen Geschwindigkeit und Kontrolle wählen.

Drei Möglichkeiten, einen Server zu erstellen:

• Verwenden Sie Server::default() für eine schnelle Einrichtung. Dies eignet sich am besten für Tests oder einfache Anwendungen. Es verwendet voreingestellte Einstellungen für Adressen und Limits. • Verwenden Sie ServerConfig für die volle Kontrolle. Damit können Sie die Bind-Adresse, TCP-Optionen oder die TTL ändern. • Verwenden Sie RequestConfig, um Details der Anfragen zu verwalten. Dies ist ideal für die Anpassung von Puffergrößen und Timeouts.

Verwaltung des Lebenszyklus:

Sobald Sie einen Server mit der run()-Methode starten, erhalten Sie einen ServerControlHook. Dieses Tool bietet Ihnen zwei Hauptoptionen:

  • wait(): Dies hält den Server am Laufen, bis Sie ihn stoppen. Verwenden Sie dies am Ende Ihrer main-Funktion, um zu verhindern, dass das Programm beendet wird.
  • shutdown(): Dies stoppt den Server kontrolliert. Es schließt laufende Anfragen ab, bevor der Server beendet wird. Dies verhindert Datenverlust in der Produktionsumgebung.

Erweiterte Optionen:

Hyperlane verwendet Attribut-Makros, um den Code zu vereinfachen. Sie können Server-Variablen direkt in Ihre Funktionen injizieren. Dies macht Ihr Setup sauberer und deklarativer.

Sie können auch mehrere Server gleichzeitig ausführen. Verwenden Sie Tokio, um verschiedene Anwendungen auf unterschiedlichen Ports auszuführen. Dies eignet sich hervorragend für:

  • Das Ausführen von HTTP und HTTPS auf separaten Ports.
  • Das Bereitstellen verschiedener API-Versionen.
  • Das Hosten von Microservices in einem einzigen Prozess.
  • Die Trennung von Hauptanwendungen und Health Checks.

Behandeln Sie beim Starten eines Servers immer Fehler. Zu den häufigsten Problemen gehören belegte Ports oder Berechtigungsfehler. Überprüfen Sie Ihre Ergebnisse, um sicherzustellen, dass Ihre Anwendung stabil bleibt.

Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/creating-and-running-a-server-5ama