Полный дуплекс на GRPC

#networking #tcp #client-server #protocols #grpc

Вопрос:

Мне нужна консультация по сетевым протоколам.

Цель: Создайте двунаправленный обмен сообщениями, который подтверждает (после обработки) все сообщения между двумя службами. Эта система должна гарантировать доставку хотя бы один раз. Одна из служб подключается ко второй, а затем обе должны иметь возможность отправлять сообщения в обоих направлениях. И еще одна ожидаемая функция-контроль времени подключения между службами. Этот протокол должен поддерживаться различными языками программирования.

Я могу сделать это вручную по необработанному протоколу TCP, но я хочу использовать более распространенный протокол.

Я думаю о GRPC, но я не уверен, хорошая это идея или нет. Я действительно не знаю, как я могу подтвердить каждое отправленное сервером сообщение.

Комментарии:

1. Вы могли бы использовать gRPC для этого, но вам нужно будет управлять доставкой «по крайней мере один раз» (включая локальную сохраняемость) и самостоятельно контролировать время (отправитель получит сообщение об ошибке, если вызов был неудачным). Я бы предложил изучить протокол обмена сообщениями, такой как MQTT , AMQP и т. Д., И, возможно, NTP для «контроля времени».