Я пытаюсь понять protobuf и gRPC, и как я могу использовать оба. Не могли бы вы помочь мне понять следующее:
- Учитывая модель OSI, что такое, например, Protobuf на уровне 4?
- Думая через передачу сообщений, как происходит "поток", что gRPC делает то, что протобуф промахивается?
- Если отправитель использует protobuf, может ли сервер использовать gRPC или добавить gRPC то, что может предоставить только клиент gRPC?
- Если gRPC может сделать синхронизацию и асинхронную связь возможной, Protobuf предназначен только для сортировки и, следовательно, не имеет ничего общего с состоянием - true или false?
- Могу ли я использовать gRPC во внешнем приложении, взаимодействующем вместо REST или GraphQL?
Я уже знаю - или предполагаю, что я это делаю:
- Двоичный протокол обмена данными
- Разработанный Google
- Использует сгенерированное "Struct", как описание на клиенте и сервере, на сообщение un- / -marshall
- Использует protobuf (v3)
- Опять от Google
- Рамка для вызовов RPC
- Также использует HTTP/2
- Возможна синхронизация и асинхронная связь
Я снова предполагаю, что это простой вопрос для тех, кто уже использует эту технологию. Я все равно буду благодарить вас за терпение и помощь. Я также был бы очень благодарен за любое сетевое погружение технологий.