-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Kafka producers and consumers for quakes.
- Loading branch information
1 parent
8acd48c
commit 4283f1b
Showing
205 changed files
with
3,152 additions
and
232 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
.idea/ | ||
cmd/sc3ml2quake/sc3ml2quake | ||
cmd/quake-producer-kafka/quake-producer-kafka | ||
cmd/quake-consumer-kafka/quake-consumer-kafka |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
// See the instructions in quake-producer-kafka for starting the broker and creating a topic | ||
package main | ||
|
||
import ( | ||
"flag" | ||
"github.com/confluentinc/confluent-kafka-go/v2/schemaregistry" | ||
"github.com/confluentinc/confluent-kafka-go/v2/schemaregistry/serde" | ||
"github.com/confluentinc/confluent-kafka-go/v2/schemaregistry/serde/protobuf" | ||
"github.com/gclitheroe/exp/internal/quake" | ||
"log" | ||
"os" | ||
"os/signal" | ||
"syscall" | ||
"time" | ||
|
||
"github.com/confluentinc/confluent-kafka-go/v2/kafka" | ||
) | ||
|
||
func main() { | ||
var bootstrap, topic, group, schemaRegistry string | ||
|
||
flag.StringVar(&bootstrap, "bootstrap", "localhost", "the Kafka bootstrap server") | ||
flag.StringVar(&schemaRegistry, "schema-registry", "http://localhost:8081", "url for the schema registry") | ||
flag.StringVar(&topic, "topic", "quake", "the topic to consume from") | ||
flag.StringVar(&group, "group", "quakeConsumer", "the group") | ||
|
||
flag.Parse() | ||
|
||
sigchan := make(chan os.Signal, 1) | ||
signal.Notify(sigchan, syscall.SIGINT, syscall.SIGTERM) | ||
|
||
c, err := kafka.NewConsumer(&kafka.ConfigMap{ | ||
"bootstrap.servers": bootstrap, | ||
"group.id": group, | ||
// Start reading from the first message of each assigned | ||
// partition if there are no previously committed offsets | ||
// for this group. | ||
"auto.offset.reset": "earliest", | ||
// Do not automatically store offsets. | ||
// To enable at least once processing. | ||
"enable.auto.offset.store": false, | ||
}) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
defer c.Close() | ||
|
||
client, err := schemaregistry.NewClient(schemaregistry.NewConfig(schemaRegistry)) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
ser, err := protobuf.NewDeserializer(client, serde.ValueSerde, protobuf.NewDeserializerConfig()) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
c.SubscribeTopics([]string{topic}, nil) | ||
|
||
run := true | ||
var q quake.Quake | ||
var msg *kafka.Message | ||
|
||
for run { | ||
select { | ||
case _ = <-sigchan: | ||
log.Println("shutting down.") | ||
run = false | ||
default: | ||
msg, err = c.ReadMessage(time.Second) | ||
if err != nil { | ||
// The client will automatically try to recover from all errors. | ||
// Timeout is not considered an error because it is raised by | ||
// ReadMessage in absence of messages. | ||
if !err.(kafka.Error).IsTimeout() { | ||
log.Printf("Consumer error: %v (%v)\n", err, msg) | ||
} | ||
continue | ||
} | ||
|
||
err = ser.DeserializeInto(topic, msg.Value, &q) | ||
if err != nil { | ||
log.Println(err) | ||
continue | ||
} | ||
|
||
// Any processing happens here e.g., store in a DB | ||
log.Printf("Received message for %s", q.PublicID) | ||
|
||
// Once processing is complete store the offsets. | ||
// This ensures at least once processing. | ||
_, err = c.StoreMessage(msg) | ||
if err != nil { | ||
log.Println(err) | ||
} | ||
} | ||
} | ||
} |
Binary file added
BIN
+3.68 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640066250.pb
Binary file not shown.
Binary file added
BIN
+5.99 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640109846.pb
Binary file not shown.
Binary file added
BIN
+6.11 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640146192.pb
Binary file not shown.
Binary file added
BIN
+6.11 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640146262.pb
Binary file not shown.
Binary file added
BIN
+6.21 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640236463.pb
Binary file not shown.
Binary file added
BIN
+6.21 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640236517.pb
Binary file not shown.
Binary file added
BIN
+6.27 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640254376.pb
Binary file not shown.
Binary file added
BIN
+8.66 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640254435.pb
Binary file not shown.
Binary file added
BIN
+8.72 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640276089.pb
Binary file not shown.
Binary file added
BIN
+8.82 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640296494.pb
Binary file not shown.
Binary file added
BIN
+8.82 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640296568.pb
Binary file not shown.
Binary file added
BIN
+8.87 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640306247.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640316248.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640316333.pb
Binary file not shown.
Binary file added
BIN
+8.97 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640326306.pb
Binary file not shown.
Binary file added
BIN
+9.02 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640336231.pb
Binary file not shown.
Binary file added
BIN
+8.97 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640346548.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640356278.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640356370.pb
Binary file not shown.
Binary file added
BIN
+9.03 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640367685.pb
Binary file not shown.
Binary file added
BIN
+9.03 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640369897.pb
Binary file not shown.
Binary file added
BIN
+9.08 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640376512.pb
Binary file not shown.
Binary file added
BIN
+9.13 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640416579.pb
Binary file not shown.
Binary file added
BIN
+9.13 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640416670.pb
Binary file not shown.
Binary file added
BIN
+9.88 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640460324.pb
Binary file not shown.
Binary file added
BIN
+9.88 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640460474.pb
Binary file not shown.
Binary file added
BIN
+9.93 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640466959.pb
Binary file not shown.
Binary file added
BIN
+10.1 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640479176.pb
Binary file not shown.
Binary file added
BIN
+10.1 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640479279.pb
Binary file not shown.
Binary file added
BIN
+10.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640487177.pb
Binary file not shown.
Binary file added
BIN
+10.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640487269.pb
Binary file not shown.
Binary file added
BIN
+10.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640499774.pb
Binary file not shown.
Binary file added
BIN
+10.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640499872.pb
Binary file not shown.
Binary file added
BIN
+10.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640509032.pb
Binary file not shown.
Binary file added
BIN
+10.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640509143.pb
Binary file not shown.
Binary file added
BIN
+10.4 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640519464.pb
Binary file not shown.
Binary file added
BIN
+10.4 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640519633.pb
Binary file not shown.
Binary file added
BIN
+10.4 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640527365.pb
Binary file not shown.
Binary file added
BIN
+10.6 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640540677.pb
Binary file not shown.
Binary file added
BIN
+10.6 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640542581.pb
Binary file not shown.
Binary file added
BIN
+13.2 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640542720.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640550131.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640550325.pb
Binary file not shown.
Binary file added
BIN
+13.4 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640560599.pb
Binary file not shown.
Binary file added
BIN
+13.4 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640560804.pb
Binary file not shown.
Binary file added
BIN
+13.6 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640571221.pb
Binary file not shown.
Binary file added
BIN
+13.6 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640571374.pb
Binary file not shown.
Binary file added
BIN
+13.8 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640581516.pb
Binary file not shown.
Binary file added
BIN
+13.8 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640582032.pb
Binary file not shown.
Binary file added
BIN
+13.9 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640591239.pb
Binary file not shown.
Binary file added
BIN
+13.9 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031640591374.pb
Binary file not shown.
Binary file added
BIN
+14 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031641001589.pb
Binary file not shown.
Binary file added
BIN
+14 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031641001988.pb
Binary file not shown.
Binary file added
BIN
+14 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031641007632.pb
Binary file not shown.
Binary file added
BIN
+4.55 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031641007825.pb
Binary file not shown.
Binary file added
BIN
+8.56 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031642223191.pb
Binary file not shown.
Binary file added
BIN
+5.14 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031645488980.pb
Binary file not shown.
Binary file added
BIN
+6.09 KB
cmd/quake-producer-kafka/demo-data/2023p007281/2023p007281-202301031657359080.pb
Binary file not shown.
Binary file added
BIN
+5.83 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639103424.pb
Binary file not shown.
Binary file added
BIN
+5.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639113346.pb
Binary file not shown.
Binary file added
BIN
+8.37 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639116590.pb
Binary file not shown.
Binary file added
BIN
+8.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639153834.pb
Binary file not shown.
Binary file added
BIN
+8.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639153913.pb
Binary file not shown.
Binary file added
BIN
+8.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639163958.pb
Binary file not shown.
Binary file added
BIN
+8.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639164022.pb
Binary file not shown.
Binary file added
BIN
+8.72 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639224186.pb
Binary file not shown.
Binary file added
BIN
+8.72 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639224263.pb
Binary file not shown.
Binary file added
BIN
+8.82 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639234341.pb
Binary file not shown.
Binary file added
BIN
+8.82 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639234404.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639244776.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639244841.pb
Binary file not shown.
Binary file added
BIN
+9.02 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639275169.pb
Binary file not shown.
Binary file added
BIN
+9.02 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639275246.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639284932.pb
Binary file not shown.
Binary file added
BIN
+8.92 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639285001.pb
Binary file not shown.
Binary file added
BIN
+9.02 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639294994.pb
Binary file not shown.
Binary file added
BIN
+9.02 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639295153.pb
Binary file not shown.
Binary file added
BIN
+12.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639349559.pb
Binary file not shown.
Binary file added
BIN
+12.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639365683.pb
Binary file not shown.
Binary file added
BIN
+12.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639365772.pb
Binary file not shown.
Binary file added
BIN
+12.8 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639427363.pb
Binary file not shown.
Binary file added
BIN
+12.8 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639427518.pb
Binary file not shown.
Binary file added
BIN
+13 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639436253.pb
Binary file not shown.
Binary file added
BIN
+13 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639436357.pb
Binary file not shown.
Binary file added
BIN
+13.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639446618.pb
Binary file not shown.
Binary file added
BIN
+13.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639446718.pb
Binary file not shown.
Binary file added
BIN
+13.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639454765.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639466539.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639466731.pb
Binary file not shown.
Binary file added
BIN
+13.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639476747.pb
Binary file not shown.
Binary file added
BIN
+13.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639476851.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639487099.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639487212.pb
Binary file not shown.
Binary file added
BIN
+13.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639495187.pb
Binary file not shown.
Binary file added
BIN
+13.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639495294.pb
Binary file not shown.
Binary file added
BIN
+13.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639507218.pb
Binary file not shown.
Binary file added
BIN
+13.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639507410.pb
Binary file not shown.
Binary file added
BIN
+13.8 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639517728.pb
Binary file not shown.
Binary file added
BIN
+13.8 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639517840.pb
Binary file not shown.
Binary file added
BIN
+13.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639527320.pb
Binary file not shown.
Binary file added
BIN
+13.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639527451.pb
Binary file not shown.
Binary file added
BIN
+14.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639538078.pb
Binary file not shown.
Binary file added
BIN
+14.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639538212.pb
Binary file not shown.
Binary file added
BIN
+14 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639547991.pb
Binary file not shown.
Binary file added
BIN
+14 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639548102.pb
Binary file not shown.
Binary file added
BIN
+14.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639559216.pb
Binary file not shown.
Binary file added
BIN
+14.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639559351.pb
Binary file not shown.
Binary file added
BIN
+14.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639565766.pb
Binary file not shown.
Binary file added
BIN
+14.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639565944.pb
Binary file not shown.
Binary file added
BIN
+14.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639575671.pb
Binary file not shown.
Binary file added
BIN
+14.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639585817.pb
Binary file not shown.
Binary file added
BIN
+14.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639585958.pb
Binary file not shown.
Binary file added
BIN
+14.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150639595968.pb
Binary file not shown.
Binary file added
BIN
+14.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640005968.pb
Binary file not shown.
Binary file added
BIN
+14.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640006109.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640019790.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640019949.pb
Binary file not shown.
Binary file added
BIN
+14.7 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640035949.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640066006.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640066136.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640146022.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640165343.pb
Binary file not shown.
Binary file added
BIN
+14.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640165530.pb
Binary file not shown.
Binary file added
BIN
+14.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640176569.pb
Binary file not shown.
Binary file added
BIN
+14.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640176702.pb
Binary file not shown.
Binary file added
BIN
+15.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640186451.pb
Binary file not shown.
Binary file added
BIN
+15.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640186585.pb
Binary file not shown.
Binary file added
BIN
+15.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640196324.pb
Binary file not shown.
Binary file added
BIN
+15.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640196455.pb
Binary file not shown.
Binary file added
BIN
+15.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640206591.pb
Binary file not shown.
Binary file added
BIN
+15.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640207276.pb
Binary file not shown.
Binary file added
BIN
+16.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640222246.pb
Binary file not shown.
Binary file added
BIN
+16.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640222496.pb
Binary file not shown.
Binary file added
BIN
+16.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640226755.pb
Binary file not shown.
Binary file added
BIN
+16.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640226902.pb
Binary file not shown.
Binary file added
BIN
+16.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640239254.pb
Binary file not shown.
Binary file added
BIN
+10.8 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640239456.pb
Binary file not shown.
Binary file added
BIN
+10.7 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640247553.pb
Binary file not shown.
Binary file added
BIN
+10.7 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640247683.pb
Binary file not shown.
Binary file added
BIN
+16.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640256008.pb
Binary file not shown.
Binary file added
BIN
+17 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640266031.pb
Binary file not shown.
Binary file added
BIN
+17 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640266193.pb
Binary file not shown.
Binary file added
BIN
+17.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640275883.pb
Binary file not shown.
Binary file added
BIN
+17.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640276072.pb
Binary file not shown.
Binary file added
BIN
+17.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640291244.pb
Binary file not shown.
Binary file added
BIN
+17.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640291415.pb
Binary file not shown.
Binary file added
BIN
+17.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640296136.pb
Binary file not shown.
Binary file added
BIN
+17.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640296320.pb
Binary file not shown.
Binary file added
BIN
+17.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640306691.pb
Binary file not shown.
Binary file added
BIN
+17.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640306859.pb
Binary file not shown.
Binary file added
BIN
+17.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640316602.pb
Binary file not shown.
Binary file added
BIN
+17.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640316771.pb
Binary file not shown.
Binary file added
BIN
+14.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640326733.pb
Binary file not shown.
Binary file added
BIN
+14.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640326895.pb
Binary file not shown.
Binary file added
BIN
+14.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640337964.pb
Binary file not shown.
Binary file added
BIN
+14.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640338111.pb
Binary file not shown.
Binary file added
BIN
+14.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640356711.pb
Binary file not shown.
Binary file added
BIN
+14.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640356874.pb
Binary file not shown.
Binary file added
BIN
+18 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640365133.pb
Binary file not shown.
Binary file added
BIN
+18.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640375023.pb
Binary file not shown.
Binary file added
BIN
+18.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640385850.pb
Binary file not shown.
Binary file added
BIN
+18.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640402823.pb
Binary file not shown.
Binary file added
BIN
+10.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640403146.pb
Binary file not shown.
Binary file added
BIN
+15 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640408301.pb
Binary file not shown.
Binary file added
BIN
+19.2 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640418379.pb
Binary file not shown.
Binary file added
BIN
+19.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640427323.pb
Binary file not shown.
Binary file added
BIN
+19.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640427551.pb
Binary file not shown.
Binary file added
BIN
+19.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640442431.pb
Binary file not shown.
Binary file added
BIN
+19.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640442680.pb
Binary file not shown.
Binary file added
BIN
+15.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640442886.pb
Binary file not shown.
Binary file added
BIN
+19.5 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640445189.pb
Binary file not shown.
Binary file added
BIN
+19.6 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640455421.pb
Binary file not shown.
Binary file added
BIN
+19.7 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640468578.pb
Binary file not shown.
Binary file added
BIN
+15.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640468912.pb
Binary file not shown.
Binary file added
BIN
+19.8 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640478529.pb
Binary file not shown.
Binary file added
BIN
+20.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640485491.pb
Binary file not shown.
Binary file added
BIN
+20.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640498475.pb
Binary file not shown.
Binary file added
BIN
+15.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640498718.pb
Binary file not shown.
Binary file added
BIN
+20.1 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640526410.pb
Binary file not shown.
Binary file added
BIN
+20.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640536545.pb
Binary file not shown.
Binary file added
BIN
+20.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640556447.pb
Binary file not shown.
Binary file added
BIN
+20.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150640566609.pb
Binary file not shown.
Binary file added
BIN
+20.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150641016498.pb
Binary file not shown.
Binary file added
BIN
+20.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150641036875.pb
Binary file not shown.
Binary file added
BIN
+24.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150642128476.pb
Binary file not shown.
Binary file added
BIN
+24.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150642128955.pb
Binary file not shown.
Binary file added
BIN
+16.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150642129495.pb
Binary file not shown.
Binary file added
BIN
+13.3 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150645397877.pb
Binary file not shown.
Binary file added
BIN
+20.9 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150656415761.pb
Binary file not shown.
Binary file added
BIN
+18.4 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302150804563356.pb
Binary file not shown.
Binary file added
BIN
+15 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302160107015742.pb
Binary file not shown.
Binary file added
BIN
+15 KB
cmd/quake-producer-kafka/demo-data/2023p122368/2023p122368-202302160107059994.pb
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
// Use the Confluent Kafka platform https://docs.confluent.io/platform/current/platform-quickstart.html#quickstart | ||
// wget https://raw.githubusercontent.com/confluentinc/cp-all-in-one/7.4.0-post/cp-all-in-one-kraft/docker-compose.yml | ||
// docker-compose up -d | ||
// visit http://localhost:9021/clusters | ||
// Select the control center cluster | ||
// Create a topic called quake using a protobuf schema with quake.proto schema from the protobuf dir in this repo. | ||
// build and run this application | ||
// go build | ||
// ./quake-producer-kafka | ||
package main | ||
|
||
import ( | ||
"flag" | ||
"github.com/confluentinc/confluent-kafka-go/v2/kafka" | ||
"github.com/confluentinc/confluent-kafka-go/v2/schemaregistry" | ||
"github.com/confluentinc/confluent-kafka-go/v2/schemaregistry/serde" | ||
"github.com/confluentinc/confluent-kafka-go/v2/schemaregistry/serde/protobuf" | ||
"github.com/gclitheroe/exp/internal/quake" | ||
"log" | ||
"os" | ||
) | ||
|
||
type info struct { | ||
publicID string | ||
file string | ||
} | ||
|
||
func main() { | ||
var bootstrap, topic, inDir, schemaRegistry string | ||
|
||
flag.StringVar(&bootstrap, "bootstrap", "localhost", "the Kafka bootstrap server") | ||
flag.StringVar(&schemaRegistry, "schema-registry", "http://localhost:8081", "url for the schema registry") | ||
flag.StringVar(&topic, "topic", "quake", "the topic to consume from") | ||
flag.StringVar(&inDir, "input-dir", "/work/quake", "directory with input quake protobuf files") | ||
|
||
flag.Parse() | ||
|
||
p, err := kafka.NewProducer(&kafka.ConfigMap{"bootstrap.servers": bootstrap}) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
defer p.Close() | ||
|
||
client, err := schemaregistry.NewClient(schemaregistry.NewConfig(schemaRegistry)) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
serValue, err := protobuf.NewSerializer(client, serde.ValueSerde, protobuf.NewSerializerConfig()) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
serKey, err := protobuf.NewSerializer(client, serde.KeySerde, protobuf.NewSerializerConfig()) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
// Delivery report handler for produced messages. | ||
go func() { | ||
var i info | ||
var ok bool | ||
|
||
for e := range p.Events() { | ||
switch ev := e.(type) { | ||
case *kafka.Message: | ||
if ev.TopicPartition.Error != nil { | ||
log.Printf("Delivery failed: %v.", ev.TopicPartition) | ||
} else { | ||
i, ok = ev.Opaque.(info) | ||
if ok { | ||
log.Printf("Delivered message for %s", i.publicID) | ||
// the input file for the quake could be deleted here. | ||
} | ||
} | ||
} | ||
} | ||
}() | ||
|
||
// Produce messages to topic (asynchronously) | ||
|
||
files, err := os.ReadDir(inDir) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
var file string | ||
var k []byte | ||
var v []byte | ||
var q quake.Quake | ||
var key quake.Key | ||
|
||
for _, f := range files { | ||
file = inDir + string(os.PathSeparator) + f.Name() | ||
|
||
q, err = quake.Read(file) | ||
if err != nil { | ||
log.Println(err) | ||
// errored files could be moved or deleted here in a real application. | ||
continue | ||
} | ||
|
||
v, err = serValue.Serialize(topic, &q) | ||
if err != nil { | ||
log.Println(err) | ||
// errored files could be moved or deleted here in a real application. | ||
continue | ||
} | ||
|
||
key.QuakeID = q.PublicID | ||
|
||
k, err = serKey.Serialize(topic, &key) | ||
if err != nil { | ||
log.Println(err) | ||
// errored files could be moved or deleted here in a real application. | ||
continue | ||
} | ||
|
||
err = p.Produce(&kafka.Message{ | ||
TopicPartition: kafka.TopicPartition{Topic: &topic, Partition: kafka.PartitionAny}, | ||
Key: k, | ||
Value: v, | ||
Opaque: info{file: file, publicID: q.PublicID}, | ||
}, nil) | ||
if err != nil { | ||
log.Println(err) | ||
} | ||
} | ||
|
||
// Wait for message deliveries before shutting down | ||
for p.Flush(10000) > 0 { | ||
log.Println("waiting to flush outstanding messages.") | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.