GRPC REST Microservice

So I did run across this post which is somewhat similar but i wanted a broader conversation and I have a slightly different question.

So, I’d like to setup some basic architecture where my services will primarily be using go/grpc with REST when needed, and GRPC otherwise.

The requirements are somewhat basic initially. GRPC, HTTP wrapper, Swagger/OpenAPI (or some auto-doc). Looking at Envoy as well but i’m new with the proxy to do service registry and other fun things.

I mostly got something hacked together that does this but honestly I’d rather not re-invent the wheel and I’m really surprised that nothing else around does this or maybe I just missed it.

Things I looked at:

From there:

go-kit:

  • Plus: it seems to be thinking forward for scaling and logging, and service registry which is all good.
  • Negative: This is really overly complex in my view. Their simple hello world is 12 pages long to help me do a very simple intro example.

go-micro:

  • Plus: simpler then go-kit it.
  • Negatives:
    • seems like it requires a particular ecosystem to work in.
    • Adding another service that is not in go seems

Lile:

I was really excited when i saw this, but i can’t get this to run so not sure if it’s in a broken state or just me.

Clayr:

another one that doesn’t seem to work for me. The example and codegen seems pretty broken from my poking around with it.

I’d love to see something like https://www.dropwizard.io/ in Go where it’s a simple stack you can just keep on re-using that lets you create a service and has hooks for logging, healthchecks and such but doesn’t require 7 classes to be updated each time you want to return a new endpoint with a new response.

Have I missed something in my research? Is everyone just writing their own home stack of this or am I just trying to do something that isn’t very mainstream?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.