1. Home page
  2. resources
  3. Other resources

GoKit or grpc-go

polaris· 1031 clicks

Hi all

I want to use microservice architecture and I am thinking about to use grpc-go or gokit.

Which one of them would you recommended to use? Any good experience of them?

Thanks


Comment on:





They aren't really in the same category. grpc is an RPC-transport, gokit is a collection of helpers to plug different parts of microservice plumbing together using different transports.Copy the code
. or micro?Copy the code
Micro over kit any day. Micro is much more in line with idiomatic go, whereas I consider go kit to be the over engineered Revel of service libraries.Copy the code
I'm not sure if this statement is accurate.Copy the code
micro looks very promise, but now a lot of choices, which one should I use?Copy the code
Your choices are.




https://github.com/grpc/grpc-go


https://github.com/go-kit/kit


https://github.com/uber/tchannel-go


https://github.com/hailocab/h2


https://github.com/mondough/mercury


https://github.com/goadesign/goa


https://github.com/nytimes/gizmo


https://github.com/micro/micro

Copy the code
but which should I choose please help me. Which one is good to start?Copy the code
Well I'm biased since I wrote micro but I quite honestly believe that if you're struggling to choose a "framework" then you should just use net/http or net/rpc and construct the bare minimum for what you're trying to do.


It comes down to.. why do you want to use a microservice architecture? Why do you think that would be beneficial to you? If you cannot answer that question then you do not need microservices. What features do you need for microservices? What do you need out of a development framework? What do you need out of a runtime or platform? You have to be able to answer these questions to make the choices. If you cannot then I truly believe sticking to the basics is key. When I build side projects I still begin with net/http or net/rpc and build monolithic software.Copy the code
I want to write microservices based application because of scability. In my opinion, it would be better to maintain and testing using microservice architecture.

But first of all, I want only configure out, if microservice architecture is suitable for my requirements. Just make a prototype and discover, what microservice really means.

Which framework is good for starting, maybe micro?Copy the code
If your answer to microservices is so simply scalability, you don't need microservices. This model comes only when running a monolith or a few larger applications becomes untenable due usually to organizational scale issues. Trying to solve the scalability issue of infrastructure before you  have problems here will typically only lead you down a path of sadness.Copy the code
When I want to discover how microservices work. I am very interesting in it.Copy the code
Check out http://goa.design/, it's awesome. You get performant idiomatic code generated off of your design docs.Copy the code
Why is gokit is over engineered?Copy the code

Join the collection
weibo
praise

  • grpc
  • github
  • net
  • rpc The login There is no account
    • The editor
    • preview

    • Please try to make your reply helpful to others
    • Support Markdown format,* * * * in bold, ~~ delete line ~~,'Single line of code'
    • Support @site users; Support for emojis (enter: hint), see Emoji Cheat Sheet
    • Images can be uploaded by dragging and dropping or pasting screenshots

    The user login

    Today’s Reading rankings

    • Lightweight UUID implemented by the Go language26 reading –
    • “Go programming basics” video tutorial- 11 reading
    • HTML5 Multiplayer Game with Go Server- 10 reading
    • 4Golang books, feel good can give me the star- 8 reading
    • 5GoLand: I tried running a hello world, got the error “runnerw.exe: CreateProcess failed with error 216 (no message available)”- 8 reading
    • 6justforfunc #31: gRPC Basics7 reading
    • 7How to write Go middleware7 reading
    • 8Create versatile Microservices in Golang – part 8 of 10 – Kubernetes5 reading –
    • 9Proposal: Versioned Go Modules5 reading –
    • 10Some common traps while using defer5 reading –

    Weekly Reading rankings

    • Lightweight UUID implemented by the Go languageRead – 451
    • Rain Trace Go Language learning notesRead – 242
    • Go Official Documentation [Chinese version]Read – 214
    • 4“Go programming basics” video tutorialRead – 210
    • 5Bitcoin (Bitcoin) Go language implementationRead – 176
    • 6≡ Get golang https://git.io/getgoRead – 84
    • 7Engiy a magnetic search based on Go write, BT resource search engineRead – 84
    • 8“Go Language programming introduction” video course startedRead – 70
    • 9Golang books, feel good can give me the starRead – 68
    • 10GoLand: I tried running a hello world, got the error “runnerw.exe: CreateProcess failed with error 216 (no message available)”- 60 reading

     The latest topic

    • Sister really want to learn Golang for guidance – Shanghai line – can add wechat
    • How do you install go third-party library
    • Help: An error occurs during Linux installation of the Go package
    • Draw the text onto the picture
    • The beego custom 404. TPL source code is printed
    • Hopefully the comments on the article can be edited or deleted after publication
    • Recruitment of OS department under 360 Group in Shenzhen
    • Recruitment of OS department under 360 Group in Shenzhen
    • Recruitment of OS department under 360 Group in Shenzhen
    • Xiaobai wants to ask about the execution order of one-way channel