Skip to content

[META] gRPC Server #16556

@finnegancarroll

Description

@finnegancarroll

Please describe the end goal of this project

Add an experimental client facing grpc-transport server to OpenSearch as a plugin. With this transport implemetnation we expect to mirror existing REST endpoints for use in a gRPC/Protobuf ecosystem.

Expected benefits of exposing gRPC/Protobuf services for indexing and search operations:

  • Requests in a binary format (protobuf) are smaller and faster to serialize/deserialize.
  • Multiplexing and streaming with HTTP2. gRPC makes it particularly easy to expose streaming alternatives for existing service implementations.
  • Following protobuf best practices apis can be updated while maintaining backwards compatibility with old versions.
  • Language agnostic client/server generation from protobuf definitions.

Supporting References

Performance testing w/ low latency protobuf queries - #15190
Performance testing w/ transport layer protobuf - #15308
Indexing api issue - #16711
Search api issue - #16710
POC implementation PR - #16534

Issues

  • Experimental grpc-transport plugin - PR

Related component

Other

Metadata

Metadata

Labels

Type

No type

Projects

Status

Done

Status

New

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions