прочитайте последние координаты такси в кафке - PullRequest
0 голосов
/ 11 марта 2019

Я новичок в Kafka, и, изучая его, я натолкнулся на случай использования Kafka в службе агрегатора такси. Здесь говорится, что такси будут продолжать публиковать координаты по теме, а их потребитель покажет ближайшие такси до заданного местоположения.

В этом случае использования я не могу понять, как потребительское приложение будет просто использовать «последнее» местоположение такси для получения ближайших такси.

Например, если у меня есть 2 такси, и они нажимают свое местоположение каждые 2 секунды, в течение 24 часов будет несколько тысяч записей, когда потребитель потребляет эту информацию, ему нужно только вычислить расстояния для последнего местоположения. координаты обоих такси, все предыдущие значения бесполезны.

Как создать потребителя, который будет считывать только последнее значение для данного такси в Кафке? Насколько я понимаю, группы потребителей будут читать с последнего смещения или они могут начинаться с начала / конца раздела - но все эти случаи не охватывают последний вариант использования местоположения.

Один из способов, которым я подумал, - это использовать все сообщения о местоположении и использовать последние прочитанные им местоположения и постоянно обновлять местоположения в другом кеше памяти или хранилище значений ключей, где ключ - это идентификатор такси, а значение - это последнее местоположение. Чтобы это работало, потребитель должен быть в курсе (последнее местоположение, прочитанное потребителем, не должно быть очень старым (в идеале оно должно совпадать с тем, что выдвигает производитель)).

Есть ли более чистый и эффективный способ справиться с этим в Кафке, где могут быть тысячи такси?

...