mouselog icon indicating copy to clipboard operation
mouselog copied to clipboard

Asnyc upload

Open winwisely99 opened this issue 5 years ago • 3 comments

Looking at the JS repo it seems that it only does bulk upload ?

It would be really nice if this supported GRPC with Golang and JS. It would be much easier to use and extend i think.

winwisely99 avatar Feb 09 '20 10:02 winwisely99

Hi @winwisely99 , I'm interesting in gRPC. But AFAIK, serving gRPC requires a server-side endpoint too. So what's the best practice to serve both REST (port 80/443) and gRPC (and what port we should use?)? Just add main_grpc.go beside main.go and let it serve gRPC port?

hsluoyz avatar Feb 09 '20 12:02 hsluoyz

The answer:

Use GRPC gateway if you want to expose GRPC to Web browsers. Its exposed them as REST. https://github.com/grpc-ecosystem/grpc-gateway

Use pure GRPC to expose GRPC to non web browsers ( mobiles, desktops, other servers).


Background data:

REST / SWAGGER are not aligned with GRPC.

Gnostic ( https://github.com/googleapis/gnostic) is another way also. You can model your objects using open OpenAPI and then it will compile them to Protobufs.

Too many ways to do things i know. I find GRPC and GRPC Gateway are the best approach as it has a long support history. REST is only useful for basic things i find and has poor perf IMHO.

Let me knwo if this info helps you.

winwisely99 avatar Feb 09 '20 22:02 winwisely99

I think we can put the upload-trace API into gRPC, because it's most frequently used. Can you make a PR about it?

hsluoyz avatar Feb 17 '20 01:02 hsluoyz