********************************************* Таблица форматов и протоколов передачи данных ********************************************* **Формат** +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | Технология | Где используется | Плюсы | Минусы | +============================+=========================================+============================================+===================================================+ | **JSON** | Веб-API, мобильные приложения | Лёгкий, читаемый, везде поддерживается | Не самый компактный, нет строгой схемы | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **XML** | Банки, гос-системы, старые SOAP-сервисы | Гибкость, строгие схемы (XSD) | Тяжёлый, многословный | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **YAML** | Конфиги (Docker, Kubernetes, CI/CD) | Читаемость, простота | Не всегда удобен для парсинга, ошибки отступов | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **CSV** | Импорт/экспорт таблиц, Excel, БД | Простота, поддержка везде | Нет вложенных структур | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **Protobuf** | gRPC, микросервисы, высокие нагрузки | Компактность, скорость | Сложнее читать и отлаживать | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **Avro** | Big Data (Kafka, Hadoop) | Схемы, совместимость | Специфичен, требует экосистемы | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **Thrift** | Большие распределённые системы | Быстрый, поддержка многих языков | Сложность, редко применяется вне крупных компаний | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ **Протокол** +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | Технология | Где используется | Плюсы | Минусы | +============================+=========================================+============================================+===================================================+ | **REST (HTTP/HTTPS)** | Веб-API | Простота, универсальность | Избыточность запросов | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **GraphQL** | Современные API (Facebook, GitHub) | Гибкость, клиент запрашивает только нужное | Более сложная настройка сервера | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **WebSocket** | Чаты, биржи, игры (реальное время) | Двусторонняя связь, быстрый обмен | Нужно держать соединение | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **gRPC** | Микросервисы, backend | Очень быстрый, бинарный | Требует Protobuf и поддержку HTTP/2 | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **MQTT** | IoT (умные устройства, датчики) | Лёгкий, оптимизирован для малых устройств | Не подходит для больших данных | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+ | **AMQP (RabbitMQ, Kafka)** | Очереди сообщений, асинхронные системы | Надёжность, масштабируемость | Сложная настройка | +----------------------------+-----------------------------------------+--------------------------------------------+---------------------------------------------------+