NATS Go 云消息系统 NATS Go

xuanbao • 3527 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
NATS Go 是 [NATS](http://www.oschina.net/p/nats) 的 Go 客户端。 安装: <pre class="brush:shell;toolbar: true; auto-links: false;"># Go client go get github.com/nats-io/nats # Servers # gnatsd go get github.com/nats-io/gnatsd # nats-server (Ruby) gem install nats</pre> 基础编码使用 <pre class="brush:shell;toolbar: true; auto-links: false;">nc, _ := nats.Connect(nats.DefaultURL) c, _ := nats.NewEncodedConn(nc, nats.JSON_ENCODER) defer c.Close() // Simple Publisher c.Publish(&#34;foo&#34;, &#34;Hello World&#34;) // Simple Async Subscriber c.Subscribe(&#34;foo&#34;, func(s string) {     fmt.Printf(&#34;Received a message: %s\n&#34;, s) }) // EncodedConn can Publish any raw Go type using the registered Encoder type person struct {      Name     string      Address  string      Age      int } // Go type Subscriber c.Subscribe(&#34;hello&#34;, func(p *person) {     fmt.Printf(&#34;Received a person: %+v\n&#34;, p) }) me := &amp;person{Name: &#34;derek&#34;, Age: 22, Address: &#34;585 Howard Street, San Francisco, CA&#34;} // Go type Publisher c.Publish(&#34;hello&#34;, me) // Unsubscribing sub, err := c.Subscribe(&#34;foo&#34;, nil) ... sub.Unsubscribe() // Requests var response string err := nc.Request(&#34;help&#34;, &#34;help me&#34;, &amp;response, 10*time.Millisecond) // Replying c.Subscribe(&#34;help&#34;, func(subj, reply string, msg string) {     c.Publish(reply, &#34;I can help!&#34;) }) // Close connection c.Close();</pre>
授权协议:
MIT
开发语言:
Google Go 查看源码»
操作系统:
跨平台
3527 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传