Перейти до вмісту

Підтримувані протоколи

У Restorm протокол — це не спрощений різновид HTTP: кожен має власний редактор, власне виконання та власне подання відповіді. Тож один проєкт може містити виклик REST, підписку MQTT і споживача Kafka поруч.

Усі протоколи виконання входять до видання Community, без обмежень.

ПротоколДля чогоРежим сервера
HTTPREST і будь-який виклик HTTP
GraphQLЗапити, мутації, підписки
gRPCУнарні та потокові виклики, gRPC-Web, Connect
SOAPСлужби WSDL, конверти XML
ODataНабори сутностей, параметри запиту, $batch
JSON-RPCJSON-RPC 2.0, одиничний або пакетний
tRPCПроцедури query і mutation

Потоки та обмін повідомленнями

Section titled “Потоки та обмін повідомленнями”
ПротоколДля чогоРежим сервера
WebSocketСире двоспрямоване з’єднання
Socket.IOІменовані події Socket.IO
MQTTIoT — теми, QoS, утримання, заповіт
SSEServer-Sent Events, на приймання
STOMPSTOMP поверх WebSocket
AMQPRabbitMQ — публікація, споживання, огляд
KafkaВиробництво, споживання, огляд партиції
RedisPub/Sub і команди
  • {{variables}} обчислюються в усіх полях, зокрема й у тих, що властиві протоколу. Див. Вбудовані змінні.
  • Історія записує кожне виконання, хоч би яким був протокол. Див. Історія запитів.
  • Фрагменти коду генеруються для кожного протоколу відповідними мовами. Див. Експорт коду.
  • Сценарії вміють керувати кожним протоколом, зокрема довготривалими з’єднаннями (підключити / надіслати / закрити). Див. Каталог дій.
  • Брандмауер перехоплює всі вихідні виклики, хоч би яким був транспорт. Див. Брандмауер.

Щоб чітко окреслити межі: Restorm не виконує Thrift (його імпорт має суто документаційний характер), AMQP 1.0 (реалізовано лише AMQP 0-9-1 / RabbitMQ) і NATS.