Go examples: add a message envelope producer and consumer
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- developer-experience
Direzione di ricerca
Inizia leggendo examples/go/getting-started/producer/main.go e consumer/main.go per la gestione dei flag, la connessione e la configurazione di stream/topic, poi l'esempio Node dell'envelope dei messaggi in examples/node/src/message-envelope/ per i tipi di order e la struttura dell'envelope. Il nuovo codice va in examples/go/message-envelope/producer/main.go e consumer/main.go, più una sezione in examples/go/README.md che verrà eseguita da scripts/run-examples-from-readme.sh. È completato quando entrambi i programmi girano su un server appena avviato, go vet ./... passa in examples/go e la sezione del README è aggiunta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
The Rust, Node, Java and C# examples show the message envelope pattern, where each payload is wrapped in a JSON object with a message_type and a payload string so one topic can carry several message kinds. The Go examples have only getting-started and reader-consumer.
Affected area / component
Go examples
Proposed solution
Add examples/go/message-envelope/producer/main.go and examples/go/message-envelope/consumer/main.go, and a "Message Envelopes" section in examples/go/README.md.
- Reuse the flag handling, connection set-up and stream and topic creation from
examples/go/getting-started/producer/main.goandconsumer/main.go. - Copy the order types (
OrderCreated,OrderConfirmed,OrderRejected) and the envelope shape fromexamples/node/src/message-envelope/. - The producer marshals each envelope with
encoding/jsonand sends five batches of ten to partition 0. - The consumer polls, unmarshals the envelope, switches on
message_typeand decodespayloadinto the matching struct. An unknown type is logged, not a crash.
Message headers are out of scope, because the Go SDK has no typed header builder yet.
How to test: start a fresh server (cargo run --bin iggy-server -- --fresh --with-default-root-credentials), run go run ./message-envelope/producer/main.go and then go run ./message-envelope/consumer/main.go in examples/go, and check go vet ./... passes. CI runs the commands listed in the README through scripts/run-examples-from-readme.sh.
Good first issue
- I think this could be a good first issue for a new contributor
- Lingua principale
- Rust
- Stelle
- 5.2k
- Fork
- 502
- Merge medio
- 3g 11h
- PR unite (30g)
- 143
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/iggy
-
HTTP client treats a consumer group as a plain consumerForse già presa @mohitduhan19 l’ha presa 17 giorni fa. Apertabug rust server
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/iggy#4408 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Add the fail-fast connection option to the Rust and Python quick-startsForse già presa @QIW9 l’ha presa 5 giorni fa. Apertadocs good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
apache/iggy#4261 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug python sdk
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/iggy#3748 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue python
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue php
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
calcit-lang/calcit#2538 ·
I maintainer di solito rispondono entro 1 giorno
-
Remove the em dashes from the skill smart-account referenceForse già presa @Vamsi-2581 l’ha presa oggi. Apertaagent-ready area: docs documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
Soneso/stellar-agent-wallet#541 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
bovinemagnet/AdocFoundry#279 ·
I maintainer di solito rispondono entro 1 giorno
-
help wanted
Difficoltà 1/5 Mezza giornata Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
weihubeats/Miyo#132 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni