Кафка, FastAPI, Телеграм Бот & Celery Worker
Описание проекта
Этот проект был разработан для клиента в индустрии кибербезопасности с целью автоматизации сбора данных OSINT (информация с открытых источников). Система использует Kafka для обработки сообщений, FastAPI для создания бэкенд API, Celery для управления фоновыми задачами и Telegram-бота для взаимодействия с пользователями.
Цель клиента:
Клиент хотел автоматизированную систему, которая могла бы получать данные OSINT с помощью Shodan и внешних ботов, обрабатывать эту информацию асинхронно и предоставлять результаты пользователям через Telegram-бота. Задачей было интегрировать несколько сервисов и обеспечить плавное взаимодействие в системе.
Задачи:
Обеспечение надежного обмена сообщениями между сервисами с использованием Kafka.
Настройка рабочих процессов Celery для асинхронной обработки данных.
Решение:
Я разработал масштабируемое решение, где Kafka облегчает коммуникацию между сервером FastAPI, рабочими процессами Celery и Telegram-ботом. Система эффективно обрабатывает запросы, получает данные из Shodan, обрабатывает их в фоновом режиме и отправляет результаты пользователям в реальном времени. Используя Celery, я смог обеспечить, чтобы все фоновые задачи (такие как получение и обработка данных) выполнялись плавно, не блокируя основной API, что улучшило пользовательский опыт.
Репозиторий GitHub: https://github.com/MLokatsiun/qos_bot.git
https://github.com/MLokatsiun/qOs_API.git
Этот проект был разработан для клиента в индустрии кибербезопасности с целью автоматизации сбора данных OSINT (информация с открытых источников). Система использует Kafka для обработки сообщений, FastAPI для создания бэкенд API, Celery для управления фоновыми задачами и Telegram-бота для взаимодействия с пользователями.
Цель клиента:
Клиент хотел автоматизированную систему, которая могла бы получать данные OSINT с помощью Shodan и внешних ботов, обрабатывать эту информацию асинхронно и предоставлять результаты пользователям через Telegram-бота. Задачей было интегрировать несколько сервисов и обеспечить плавное взаимодействие в системе.
Задачи:
Обеспечение надежного обмена сообщениями между сервисами с использованием Kafka.
Настройка рабочих процессов Celery для асинхронной обработки данных.
Решение:
Я разработал масштабируемое решение, где Kafka облегчает коммуникацию между сервером FastAPI, рабочими процессами Celery и Telegram-ботом. Система эффективно обрабатывает запросы, получает данные из Shodan, обрабатывает их в фоновом режиме и отправляет результаты пользователям в реальном времени. Используя Celery, я смог обеспечить, чтобы все фоновые задачи (такие как получение и обработка данных) выполнялись плавно, не блокируя основной API, что улучшило пользовательский опыт.
Репозиторий GitHub: https://github.com/MLokatsiun/qos_bot.git
https://github.com/MLokatsiun/qOs_API.git