Как написать коннектор Kafka для интеграции с Facebook API? - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь написать соединитель Kafka для получения данных из Facebook. Проблемы,

  1. Как получить данные из Facebook через их API, не превышая лимит API, предоставленный Facebook? Соединитель должен вызывать Facebook API для данных через определенный промежуток времени, чтобы число обращений не превышало.

  2. Каждый пользователь может использовать API Facebook со своим токеном доступа, чтобы пользователи не могли использовать один и тот же раздел темы. Так как справиться с этим сценарием. Нужно ли создавать один раздел для каждого пользователя?

Я прочитал несколько руководств и блогов, чтобы понять, как подключается Kafka, и напишу соединитель.

Конфлюент - https://docs.confluent.io/current/connect/index.html

Кафка Документация - https://kafka.apache.org/documentation/#connect

Концептуально Это дало мне представление о том, что такое Kafka Connect, как оно работает и каковы важные классы для написания Kafka-коннектора. Но все же, я запутался, что практически как написать и запустить разъем. Я пытался найти пошаговое руководство по развитию, но не получил.

Любой учебник или PDF Если вы могли бы предложить, у которого есть подробное пошаговое руководство по разработке, чтобы написать и запустить Kafka Connector.

1 Ответ

0 голосов
/ 30 апреля 2019

Единственное «официальное руководство» - это те ссылки, которые у вас есть

https://docs.confluent.io/current/connect/devguide.html#developing-a-simple-connector

У меня лично нет опыта работы с API Facebook, но я предполагаю, что он использует REST, так что вы могли быначните с разветвления проекта kafka-connect-rest , но самый простой ответ, который не превысит ограничение, состоит в том, чтобы не отправлять больше запросов, чем вам разрешено в течение данного периода времени ( добавить таймерк коду, который ожидает между запросами )

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

...