GoKit or grpc-go

polaris · · 1641 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>Hi all<br/> I want to use microservice architecture and I am thinking about to use grpc-go or gokit.<br/> Which one of them would you recommended to use? Any good experience of them? </p> <p>Thanks </p> <hr/>**评论:**<br/><br/>TheMerovius: <pre><p>They aren&#39;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.</p></pre>neoasterisk: <pre><p>... or <a href="https://github.com/micro/micro">micro</a>?</p></pre>pievendor: <pre><p>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.</p></pre>jesus_7in: <pre><p>I&#39;m not sure if this statement is accurate.</p></pre>zero_coding: <pre><p>micro looks very promise, but now a lot of choices, which one should I use?</p></pre>chuhnk: <pre><p>Your choices are.</p> <ul> <li><a href="https://github.com/grpc/grpc-go">https://github.com/grpc/grpc-go</a></li> <li><a href="https://github.com/go-kit/kit">https://github.com/go-kit/kit</a></li> <li><a href="https://github.com/uber/tchannel-go">https://github.com/uber/tchannel-go</a></li> <li><a href="https://github.com/hailocab/h2">https://github.com/hailocab/h2</a></li> <li><a href="https://github.com/mondough/mercury">https://github.com/mondough/mercury</a></li> <li><a href="https://github.com/goadesign/goa">https://github.com/goadesign/goa</a></li> <li><a href="https://github.com/nytimes/gizmo">https://github.com/nytimes/gizmo</a></li> <li><a href="https://github.com/micro/micro">https://github.com/micro/micro</a></li> </ul></pre>zero_coding: <pre><p>but which should I choose please help me. Which one is good to start?</p></pre>chuhnk: <pre><p>Well I&#39;m biased since I wrote micro but I quite honestly believe that if you&#39;re struggling to choose a &#34;framework&#34; then you should just use net/http or net/rpc and construct the bare minimum for what you&#39;re trying to do.</p> <p>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.</p></pre>zero_coding: <pre><p>I want to write microservices based application because of scability. In my opinion, it would be better to maintain and testing using microservice architecture.<br/> 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.<br/> Which framework is good for starting, maybe micro?</p></pre>pievendor: <pre><p>If your answer to microservices is so simply scalability, you don&#39;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.</p></pre>zero_coding: <pre><p>When I want to discover how microservices work. I am very interesting in it.</p></pre>Ploobers: <pre><p>Check out <a href="http://goa.design/" rel="nofollow">http://goa.design/</a>, it&#39;s awesome. You get performant idiomatic code generated off of your design docs.</p></pre>zero_coding: <pre><p>Why is gokit is over engineered?</p></pre>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:muxilin131420 备注:入群;或加QQ群:977810755

1641 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传