BindingProperties

module
v0.0.0-...-bb81c7d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2023 License: Apache-2.0

README

Binding Properties

Ein Beispiel für ein Entwurfsmuster für Golang, das Bindungseigenschaften beinhaltet, ist das "Worker Pool"-Muster.

Das Worker-Pool-Muster ist ein Entwurfsmuster, bei dem eine feste Anzahl von Worker-Goroutinen erstellt wird, die jeweils Aufgaben aus einem gemeinsamen Kanal verbrauchen, dabei parallel laufen und sich in einer Warteschlange befinden. Diese Aufgaben können alle Arbeiten darstellen, die gleichzeitig ausgeführt werden müssen, wie z. B.

  • die Verarbeitung eingehender Anfragen,
  • die Bearbeitung von Datenbankabfragen oder
  • die Ausführung von Berechnungen

Um den Aspekt der "Bindungseigenschaften" des Entwurfsmusters zu implementieren, wird jedem Worker im Pool eine Reihe von Eigenschaften zugewiesen, die sein Verhalten definieren.

Diese Eigenschaften können zum Beispiel folgendes umfassen:

  • die Art der Aufgaben, die der Worker bearbeiten kann (z. B. Anfragen nach einer bestimmten Art von Daten)
  • Die Prioritätsstufe des Workers (z. B. niedrig, mittel oder hoch)
  • Die maximale Anzahl von Aufgaben, die der Worker gleichzeitig bearbeiten kann
  • Die Eigenschaften werden jedem Worker bei seiner Erstellung übergeben und können verwendet werden, um zu bestimmen, welcher Worker jede eingehende Aufgabe bearbeiten soll. Dies kann dazu beitragen, die Nutzung der Ressourcen zu optimieren und die Gesamteffizienz des Systems zu verbessern.

In Golang verwenden wir Goroutinen und Channels, um dieses Muster aufzubauen. Normalerweise werden diese Worker durch eine Goroutine definiert, die so lange wartet, bis sie Daten über einen Kanal erhält, der die Aufgabe hat, die Worker und die Aufgabe in der Warteschlange (normalerweise ein gepufferter Kanal) zu koordinieren.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL