Have questions? Stuck? Please check our FAQ for some common questions and answers.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

What is gRPC?

gRPC is a Google open-source project which provides efficient language-agnostic communication.  It utilizes two key technologies: protocol buffers to provide efficient serialization for transmission, and http/2 for asynchronous communication.  The result is highly efficient communication that enables off-platform applications to interact with ONOS with minimal cost.

Links:

gRPC guide

Protocol Buffer guide (NOTE: we will be using proto3)

http/2 guide (RFC) (NOTE: only a basic understanding of http/2 is required to work on this)

Why gRPC?

gRPC will enable more ONOS apps to be moved off-platform consuming fewer system resources and providing a degree of isolation to reduce the chances of a fault in an application effecting the system as a whole.

 

Brigade Leads:

Aaron Kruglikov - Fujitsu


Brigade Status:

Currently doing recruiting and early planning.


Brigade Members:

We are seeking a group of 3 or 4 members.


Contact the brigade:

After official kickoff we will create a mailing list and slack channel for contributors.

 

Scope:

Short Term:

  • Support gRPC as a northbound interface.
  • Create handcrafted message types to provide access to system services (similar to the current REST API's but with improved performance via HTTP/2 multiplexing and improved encoding efficiency).
  • Create thorough test suites.

Long Term:

  • Add support for automatic code generation from ONOS service API's.
  • Explore the possibility of enabling gRPC for East/West communication.

 


How to get involved:

Contact Aaron at aaron@onlab.us (please include "gRPC" in the subject).

  • No labels