Ich habe einen RD Kafka Client mit LIBRDKAFKA C Library entwickelt. Die Bibliothek LIBRDKAFKA C hat die APIs set_config zum Festlegen von Konfigurationswerten für Consumer- und Producer-Handles verfügbar gemacht. Es gibt ungefähr Hunderte von Konfigurationen, die gesetzt werden können, es wurde sehr mühsam set_congig für jeden Wert zu setzen. Wichtig ist die nicht effiziente Art und Weise, Configs im Code selbst zu setzen, da wir hier keine Flexibilität haben, um Konfigurationswerte auf verschiedene Plattformen abzustimmen, da sie RD Kafka Clients neu aufbauen müssen.Wie liest man Konfigurationswerte aus einer Datei in RD Kafka Client?
Antwort
Die Konfigurationsschnittstelle librdkafka ist in diesem Sinne konzipiert und bietet einen einfachen String-Schlüssel, Wert-API für 95% der Konfigurationseigenschaften (die restlichen sind C-Callbacks usw., die richtige Typen benötigen).
Hier ist ein Beispiel dafür, wie ein Konfigurationsdatei-Lesegerät (mit key=value\n
Syntax) zu implementieren, die alle Standards librdkafka Konfiguration eingestellt werden kann: ist
rd_kafka_conf_t *conf = rd_kafka_conf_new();
FILE *fp;
char buf[512];
int line = 0;
fp = fopen(conf_path, "r");
if (!fp) ;// add error checking..
while (fgets(buf, sizeof(buf)-1, fp)) {
char *t;
char *b = buf;
rd_kafka_conf_res_t res;
char *name, *val;
char errstr[512];
line++;
if ((t = strchr(b, '\n')))
*t = '\0';
if (*b == '#' || !*b)
continue;
if (!(t = strchr(b, '=')))
fprintf(stderr, "%s:%i: expected name=value format\n",
conf_path, line);
name = b;
*t = '\0';
val = t+1;
res = rd_kafka_conf_set(conf, name, val, errstr, sizeof(errstr));
if (res != RD_KAFKA_CONF_OK)
fprintf(stderr, "%s:%i: %s\n", conf_path, line, errstr);
}
fclose(fp);
...
// Create client
rd_kafka_t *rk;
rk = rd_kafka_new(... , conf, ..);
In configurationfile, kann ich Eigenschaften wie folgt setzen: socket.nagle.disable = false (zum Beispiel) – dcds
Ja, es erwartet das 'key = value' Format, so dass es funktioniert. – Edenhill
@dcds Bitte schließen Sie Ihre Frage, indem Sie auf das Häkchen links neben der Antwort klicken, wenn Sie mit der Antwort zufrieden sind. – Edenhill
- 1. Wie liest man Bits aus einer Datei?
- 2. Wie liest man aus einer Datei in Assembly x86
- 3. Wie liest man Daten aus einer Excel-Datei in R?
- 4. Wie liest man ein Sonderzeichen aus einer Datei in Verilog?
- 5. Kafka 0.8.2.1 Wie liest man aus __consumer_offsets topic
- 6. So entfernen Sie leere Zeilen aus einem RD RD RD
- 7. iOS liest aus einer Datei
- 8. Mehrere Funktionen in einer .rd Datei
- 9. Wie liest man den gesamten Text aus einer byte [] Datei?
- 10. Wie liest man eine bestimmte Zeile aus einer großen Datei?
- 11. Wie liest man einen Float aus einer binären WebM-Datei?
- 12. Wie liest man die Voxeldaten aus einer .raw-Datei?
- 13. Python wie man orderedDict aus einer TXT-Datei liest
- 14. Wie liest man eine Zeichenfolge aus einer getrennten Datei?
- 15. Wie liest man Variablen mit PHP aus einer Python-Datei?
- 16. Wie liest man schwedische Zeichen richtig aus einer txt-Datei?
- 17. Wie liest man aus einer Textdatei?
- 18. Kafka Streams App separat liest aus schreibt
- 19. Wie liest man eine .properties-Datei in einer .xsl-Datei?
- 20. Wie liest man aus application.properties
- 21. Wie man aus einer Textdatei liest, die ich in C
- 22. Wie liest man Elemente aus einer Zeile in VHDL?
- 23. Wie liest man Batch-Nachrichten in konfluenten Kafka Python?
- 24. Wie liest man Bytes aus Datei in Python
- 25. Wie liest man .csv-Datei?
- 26. Wie man Token von einer Datei einzeln in Python liest?
- 27. Iterieren benutzerdefinierte Klassenobjekte in einem RD RD RD
- 28. Kafka - Wie man mehr als 10 Zeilen liest
- 29. Lua, wie man aus dem Unix-Datei-Socket liest
- 30. Wie Logs aus Datei in Kafka lesen?
Diese Frage zu RD Kafka-Client verknüpft, für die zur Zeit I didn‘ t keinen Tag sehen. Kann jeder Freiwillige ein solches Tag erstellen? – dcds