CloudFoundry Nats实践

nats是一个轻量级的消息系统,在CloudFoundry中作为消息总线存在,各个组件之间的交互除了少量的http直接请求,大部分交互基于nats消息的传递。

基本使用

之前是基于EM的ruby版本,后来又用Golang重写了,go版本地址https://github.com/nats-io/gnatsd
有多个语言的客户端,go client的github地址https://github.com/nats-io/nats
具体使用参照文档,还是比较简单的

CF中的使用

1)ruby nats client方式
一种是使用cf中现有的nats客户端,cf v2中有很多ruby写的组件,cloudcontroller、dea等,可以在这些组件直接用ruby版本的nats client,使用方式如下:

$ #dea
$ cd /var/vcap/packages/dea_next/vendor/bundle/ruby/1.9.1/gems/nats-0.5.0.beta.16/
$ /var/vcap/packages/ruby/bin/bundle exec ./bin/nats-sub 'router.register' -s nats://nats:c1oudc0w@$(NATS_IP):$(NATS_PORT) #监听"router.register"消息内容

通过监听“router.register”可以查看所有的想Gorouter的消息,比如ap向router注册的地址;
通过监听“staging.*.start“可以查询staging阶段app打包所对应的dea节点;
通过监听“dea.*.start“可以查到app最终部署在哪个dea节点之上;
2)go client
go语言甚是方便,可以自己编译一个go client二进制文件,再使用上述监听方式;
地址:https://github.com/nats-io/nats/tree/master/examples
nats-sub.go
使用方式与ruby的基本一致

Usage: nats-sub [-s server] [--tls] [-t] <subject>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值