zmq4: pure-Go ZeroMQ-4 package

blov · · 2223 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>hi there,</p> <p>I&#39;ve just pushed a few examples for my pure-Go implementation of ZeroMQ-4 sockets:</p> <ul> <li><a href="https://github.com/go-zeromq/zmq4">https://github.com/go-zeromq/zmq4</a></li> </ul> <p>Implemented so far (with tests against the C bindings of <a href="https://github.com/pebbe/zmq4">pebbe/zmq4</a>):</p> <ul> <li>pub/sub</li> <li>push/pull</li> <li>req/rep</li> </ul> <p>Implemented (but not tested yet):</p> <ul> <li>xpub/xsub</li> <li>router/dealer</li> <li>pair</li> </ul> <p>Enjoy! (and send PRs :P)</p> <hr/>**评论:**<br/><br/>Ungoliantsspawn: <pre><p>I&#39;ve been using pebbe/zmq4 for some time now, I greatly appreciate a pure Go version, Thx!</p> <p>I will be watching your repo closely, cheers!</p></pre>jasonmoo: <pre><p>I’m not well versed in zmq but saw inproc wasn’t implemented. Is that something that could be implemented with a channel that satisfied the net interfaces your lib expects?</p></pre>sbinet: <pre><p>yes, definitely. IIRC, that&#39;s what <a href="https://github.com/go-mangos/mangos">go-mangos/mangos</a> (a pure Go implementation of <code>nanomsg</code>) is doing.</p> <p>alternatively, and as a short gap solution, one could use either <code>os.Pipe</code> or <code>net.Pipe</code>.</p> <p><code>net.Pipe</code> already uses a couple of <code>chan</code>s already:</p> <ul> <li><a href="https://golang.org/src/net/pipe.go#L118">https://golang.org/src/net/pipe.go#L118</a></li> </ul></pre>icholy: <pre><p>Sweet! This let&#39;s me say goodbye to cgo for one of my projects XD</p></pre>sbinet: <pre><p>Aha :)</p> <p>I&#39;ll post a few histograms comparing latency between cgo-based transport and pure-Go based transport in my favorite application. Nothing earth shattering, between the pure-Go transport has a better figure of merit.</p></pre>sbinet: <pre><p>here is the initial preliminary little study:</p> <ul> <li><p><a href="https://gist.github.com/sbinet/07b5fa628b5278498eea612a0c4b65c3" rel="nofollow">https://gist.github.com/sbinet/07b5fa628b5278498eea612a0c4b65c3</a></p></li> <li><p><code>nanomsg</code>: <a href="https://github.com/go-mangos/mangos" rel="nofollow">go-mangos/mangos</a></p></li> <li><p><code>zeromq</code>: <a href="https://github.com/go-zeromq/zmq4" rel="nofollow">go-zeromq/zmq4</a></p></li> <li><p><code>czmq</code>: <a href="https://github.com/pebbe/zmq4" rel="nofollow">pebbe/zmq4</a></p></li> </ul> <p>and my favorite application:</p> <ul> <li><a href="https://github.com/sbinet-alice/fer/tree/master/_example/cmd/fer-ex-web-ctl" rel="nofollow">https://github.com/sbinet-alice/fer/tree/master/_example/cmd/fer-ex-web-ctl</a></li> </ul></pre>

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

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