4 ms·
grpc.io is great to start learning. Also the blog posts on grpc.io are interesting, but I find them harder to discover whilst reading the documentation. But he
by weitzj 6y ago
grpc.io is great to start learning.
Also the blog posts on grpc.io are interesting, but I find them harder to discover whilst reading the documentation. But here they are: https://grpc.io/blog/ https://grpc.io/blog/
Grasping the concept of a context/deadlines is quite helpful:
https://grpc.io/blog/deadlines/ https://grpc.io/blog/deadlines/
You could also find related information in the Google SRE Handbook (Service Level Objectives): https://landing.google.com/sre/sre-book/chapters/service-level-objectives/ https://landing.google.com/sre/sre-book/chapters/service-lev...
If you are familiar with Go, the article about "Context" might also be helpful: https://blog.golang.org/context https://blog.golang.org/context
But in any case, gRPC is language agnostic and has nothing to do with Go.
To get an idea how to create an api-repository with protobuf defintions to be shared by multiple services/clients, one can look at: https://github.com/googleapis/googleapis https://github.com/googleapis/googleapis
- bwarren2 6y agoThank you!!
- Saser 6y agoIn addition to these, I think that Google's API Design Guide (https://cloud.google.com/apis/design https://cloud.google.com/apis/design) and their AIPs (https://aip.dev https://aip.dev) are good references for learning about how their style of APIs, called resource-oriented APIs, can be designed. There is a linter that can check whether an API follows the AIPs (I know, these acronyms are easy to mix up), available at https://linter.aip.dev https://linter.aip.dev. I am building a side project following the AIPs and have found them to be very helpful. Disclaimer: I work at Google, although I would have recommended these resources anyway.
- weitzj 6y agoThanks. Do you have some resources how Google Artman fits into this? It looks like mix/match of Protobuf with Yaml to define a Rest Api. But I don’t see it promoted very much except with the cloud endpoint