Chinese gophers have been busy

agolangf · · 459 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>I stumbled upon <a href="http://rpcx.site/">http://rpcx.site/</a>, which bills itself as a faster replacement for gRPC (in Go). It lead me to learn about KCP, a protocol meant to deliver reliable streams over lossy networks: <a href="https://github.com/skywind3000/kcp/blob/master/README.en.md">https://github.com/skywind3000/kcp/blob/master/README.en.md</a></p> <p>And KCP-go is used in Lantern (<a href="https://getlantern.org/">https://getlantern.org/</a>), which is a peer to peer VPN system to evade censorship. It ships on desktop and mobile platforms, thanks to Go and Go-mobile.</p> <p>Wow.</p> <p>Go guys, go! Make the world more gophery!</p> <hr/>**评论:**<br/><br/>SolFlorus: <pre><p>As someone that has previously used Beego:</p> <p>Chinese gophers have been putting out some super high quality libraries. That said, I&#39;m less likely to use them because their issues, pull requests, etc... tend to be in Chinese (understandably). The language barrier just makes hunting down issues more difficult.</p></pre>coder543: <pre><p>What does KCP stand for?</p></pre>1lann: <pre><p>The first sentence of the Chinese README says &#34;KCP shi yige <strong>kuaisu</strong> <strong>kekao</strong> xieyi&#34; which translates to &#34;KCP is a fast and reliable protocol&#34;.</p> <p>Fast and reliable in Chinese is &#34;kuaisu kekao&#34;. That&#39;s probably where the K came from. Fast/reliable control protocol.</p></pre>joncalhoun: <pre><p>Your question intrigued me, but after like 20m of digging the only thing I can find out is that it is a &#34;A Fast and Reliable ARQ Protocol&#34;.</p> <p>Perhaps somehow &#34;ARQ Control Protocol&#34; became KCP somehow? Or something was lost in translation? </p> <p>¯\_(ツ)_/¯</p></pre>SilentWeaponQuietWar: <pre><p>this question is going to keep me up tonight. I just read over the docs in at least 10 diff KCP related repos expecting to find some kind of answer... nope.</p></pre>kidovate: <pre><p>I have looked at kcp and while it&#39;s interesting I think Quic ultimately has more potential. Check out quic-go</p></pre>siwu: <pre><p>I&#39;m thinking of using both:</p> <ul> <li>QUIC/H2 is still being discussed by IETF and there are making some major changes to the protocol</li> <li>Most notably in HTTP/2 dropping the Stream 3 for headers and going full stream (which GQUIC doesn&#39;t do)</li> <li>KCP has FEC, which is a really nice addition when working on mobile networks</li> <li>QUIC FEC is still in draft AFAIK</li> </ul> <p>That said, I just did a quick test of gRPC over KCP on <code>localhost</code> and the performance for KCP-Go is very bad compared to raw TCP. I used the default Dialer and Listerner.</p></pre>kidovate: <pre><p>Quic has fec afaik, functionally in quic-go</p></pre>siwu: <pre><p>I&#39;ve seen the draft, but it&#39;s unclear if it&#39;s been implemented at all</p></pre>alexfiori: <pre><p>Ever heard of reactivesocket? Or rsocket, as it&#39;s called these days. Been playing with it for a while, will eventually open source it.</p></pre>TheMerovius: <pre><p>FTR, I disagree that rpcx competes with gRPC (or, more specifically, can be considered a replacement). It&#39;s missing several critical features for that, like an IDL, or language-independence, from what I can tell.</p></pre>jammerlt: <pre><p>It still has a ton of issues if you want to do any sensible NAT punch through. I&#39;ve been trying to wedge it into syncthing for a while, and still have to utilise various hacks to make it work. Furthermore, it has too many knobs to tweak to make it performant in all scenarios.</p></pre>: <pre><p>[deleted]</p></pre>ChristophBerger: <pre><p>I guess this comment is meant for <a href="https://www.reddit.com/r/golang/comments/78oprj/moka_a_golang_mocking_framework_built_by_me/" rel="nofollow">https://www.reddit.com/r/golang/comments/78oprj/moka_a_golang_mocking_framework_built_by_me/</a></p></pre>poetic_waffle: <pre><p>Yeah It is sorry I am stupid.</p></pre>ChristophBerger: <pre><p>No probs, can happen to anyone...</p></pre>

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

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