Самое большее, вы можете сохранить порядок сообщений в том порядке, в котором они были созданы производителем, путем отправки в один раздел. Разделы Kafka гарантировали порядок потребления сообщений в том порядке, в котором они были созданы внутри раздела.
В вашем сценарии сообщения генерируются несколькими производителями, и они не синхронизированы, чтобы заполнить раздел сообщениями по порядку. Таким образом, невозможно достичь порядка в потребительской части, как вы ожидаете.
Принятие языка C:
[Пытаясь учить Вас ловить рыбу, вместо того, чтобы предоставлять рыбе.Удачи!]
Предположение, что Вы используете удар, можно использовать 1$, 2$, и т.д. для тех аргументов. Если, однако, Вы - useing C, Вы - код, должен взгляды что-то больше как это:
#include <stdio.h>
#include <stdlib.h>
main(int argc, char *argv[]) {
if(argc<=1) {
printf("You did not feed me arguments, I will die now :( ...");
exit(1);
} //otherwise continue on our merry way....
int arg1 = atoi(argv[1]); //argv[0] is the program name
//atoi = ascii to int
//Lets get a-crackin!
}
Надеюсь, это поможет.
Во-первых, если Вы запускаете свою программу C как
./a x y
затем argv [0], x является argv[1], и y является argv[2], так как C массивы 0 базирующихся (т.е. первый объект в массиве индексируется с 0.
Поймите, что argv является массивом (или я всегда думал о нем как о Векторе Аргумента, хотя Вы могли бы думать о нем как о массиве Значений аргументов) указателей символьной строки. Так, необходимо преобразовать строки в целые числа. К счастью, C имеет библиотечные функции для преобразования ASCII в целое число. Посмотрите на stdlib.h документацию.
Удачи!