Dieses Repo enthält eine Sammlung von Beispielordnern, die einzeln verwendet werden können, um wichtige Zilla-Funktionen zu demonstrieren. Wenn dies Ihr erster Schritt auf Ihrer Reise mit Zilla ist, empfehlen wir Ihnen, unseren Quickstart auszuprobieren.
Sie benötigen eine Umgebung mit installiertem Docker oder Helm und Kubernetes. Weitere Möglichkeiten zur Interaktion mit einem Beispiel finden Sie in unseren Postman-Kollektionen.
Das Skript startup.sh
soll beim Ein- und Ausbau der erforderlichen Komponenten für jedes der Beispiele helfen. Die Verwendung ist die einfachste Möglichkeit, mit jedem Beispiel zu interagieren.
Installieren Sie eines der Beispiele und führen Sie es mit dem Skript startup.sh
aus:
./startup.sh -m example.name
Sie können Ihren eigenen Kafka-Host und -Port oder das Arbeitsverzeichnis angeben, in das die Beispiele heruntergeladen werden sollen. Bestehende Beispielverzeichnisse werden not
überschrieben.
./startup.sh -m -k kafka:9092 -d /tmp example.name
Alternativ können Sie dieses Skript auf die gleiche Weise ausführen, ohne das Repo zu klonen.
wget -qO- https://raw.githubusercontent.com/aklivity/zilla-examples/main/startup.sh | sh -s -- -m example.name
./startup.sh --help
Usage: startup.sh [-hm][-k KAFKA_BOOTSTRAP_SERVER][-d WORKDIR][-v ZILLA_VERSION][-e EX_VERSION][--no-kafka-init][--redpanda] example.name
Operand:
example.name The name of the example to use [default: quickstart][string]
Options:
-d | --workdir Sets the directory used to download and run the example [string]
-e | --ex-version Sets the examples version to download [default: latest][string]
-h | --use-helm Use the helm install, if available, instead of compose [boolean]
-k | --kafka-server Sets the Kafka Boostrap Server to use [string]
-m | --use-main Download the head of the main branch [boolean]
-v | --zilla-version Sets the zilla version to use [default: latest][string]
--auto-teardown Executes the teardown script immediately after setup [boolean]
--no-kafka-init The script wont try to bootstrap the kafka broker [boolean]
--redpanda Makes the included kafka broker and scripts use Redpanda [boolean]
--help Print help [boolean]
Name | Beschreibung |
---|---|
asyncapi.mqtt.proxy | Leitet validierte MQTT-Veröffentlichungsnachrichten weiter und Proxys abonnieren einen MQTT-Broker |
asyncapi.mqtt.kafka.proxy | Leitet MQTT-Veröffentlichungsnachrichten an Kafka weiter und sendet sie an alle abonnierten MQTT-Clients |
asyncapi.http.kafka.proxy | Korreliert HTTP-Anfragen und -Antworten über separate Kafka-Themen |
asyncapi.sse.proxy | Proxys validierten Nachrichten, die vom SSE-Server übermittelt wurden |
asyncapi.sse.kafka.proxy | Streamt Nachrichten, die über SSE in einem Kafka-Thema veröffentlicht wurden |
tcp.echo | Echos der an den TCP-Server gesendeten Bytes |
tcp.reflect | Gibt an den TCP-Server gesendete Bytes zurück und sendet sie an alle TCP-Clients |
tls.echo | Gibt verschlüsselte Bytes wieder, die an den TLS-Server gesendet wurden |
tls.reflect | Gibt verschlüsselte Bytes wieder, die an den TLS-Server gesendet wurden, und sendet sie an alle TLS-Clients |
http.filesystem | Stellt Dateien aus einem Verzeichnis im lokalen Dateisystem bereit |
http.filesystem.config.server | Stellt Dateien aus einem Verzeichnis im lokalen Dateisystem bereit und ruft die Konfiguration von einem http-Server ab |
http.echo | Echo-Anfrage, die von einem HTTP-Client an den HTTP-Server gesendet wurde |
http.echo.jwt | Echos-Anfrage, die von einem JWT-autorisierten HTTP-Client an den HTTP-Server gesendet wurde |
http.proxy | Proxy-Anfrage, die von einem HTTP-Client an den HTTP-Server gesendet wird |
http.proxy.schema.inline | Proxy-Anfrage, die von einem HTTP-Client mit Schema-Erzwingung an den HTTP-Server gesendet wird |
http.kafka.sync | Korreliert HTTP-Anfragen und -Antworten über separate Kafka-Themen |
http.kafka.async | Korreliert HTTP-Anfragen und -Antworten über separate Kafka-Themen asynchron |
http.kafka.cache | Stellt zwischengespeicherte Antworten aus einem Kafka-Thema bereit und erkennt sie bei Aktualisierung |
http.kafka.oneway | Sendet Nachrichten zu einem Kafka-Thema, Fire-and-Forget |
http.kafka.crud | Stellt eine REST-API mit CRUD-Vorgängen bereit, bei denen ein protokollkomprimiertes Kafka-Thema als Tabelle fungiert |
http.kafka.sasl.scram | Sendet Nachrichten an einen SASL/SCRAM-fähigen Kafka |
http.kafka.karapace | Validieren Sie Nachrichten beim Erstellen und Abrufen zu einem Kafka-Thema |
http.redpanda.sasl.scram | Sendet Nachrichten an einen SASL/SCRAM-fähigen Redpanda-Cluster |
kubernetes.prometheus.autoscale | Demo der horizontalen Pod-Autoscaling-Funktion von Kubernetes basierend auf einer benutzerdefinierten Metrik mit Prometheus |
grpc.echo | Gibt Nachrichten wieder, die von einem gRPC-Client an den gRPC-Server gesendet wurden |
grpc.kafka.echo | Gibt Nachrichten wieder, die über gRPC von einem gRPC-Client an ein Kafka-Thema gesendet wurden |
grpc.kafka.fanout | Streamt Nachrichten, die in einem Kafka-Thema veröffentlicht wurden, und wendet eine Zusammenführung basierend auf der Protokollkomprimierung an |
grpc.kafka.proxy | Korreliert gRPC-Anfragen und -Antworten über separate Kafka-Themen |
grpc.proxy | Vermittelt gRPC-Anfragen und -Antworten, die von einem gRPC-Client an den gRPC-Server gesendet werden |
amqp.reflect | Gibt auf dem AMQP-Server veröffentlichte Nachrichten zurück und sendet sie an alle empfangenden AMQP-Clients |
mqtt.kafka.broker | Leitet MQTT-Veröffentlichungsnachrichten an Kafka weiter und sendet sie an alle abonnierten MQTT-Clients |
mqtt.kafka.broker.jwt | Leitet MQTT-Veröffentlichungsnachrichten an Kafka weiter und sendet sie an alle abonnierten JWT-autorisierten MQTT-Clients |
Schnellstart | Startet Endpunkte für alle Protokolle (HTTP, SSE, gRPC, MQTT) |
sse.kafka.fanout | Streamt Nachrichten, die in einem Kafka-Thema veröffentlicht wurden, und wendet eine Zusammenführung basierend auf der Protokollkomprimierung an |
sse.proxy.jwt | Leitet vom SSE-Server übermittelte Nachrichten weiter und erzwingt so Streaming-Sicherheitsbeschränkungen |
ws.echo | Gibt an den WebSocket-Server gesendete Nachrichten wieder |
ws.reflect | Gibt an den WebSocket-Server gesendete Nachrichten zurück und sendet sie an alle WebSocket-Clients |
Lesen Sie die Dokumente. Probieren Sie die Beispiele aus. Treten Sie der Slack-Community bei.