说说pubnub

pubnub是一个云端即时消息服务,通过它我们可以很方便地创建自己的即时应用。

我们只需在客户端/服务端调用subscribe和publish方法即可。

// LISTEN FOR MESSAGES
PUBNUB.subscribe({
	channel: "hello_world",
	callback: function(message){log(message);}
});

// SEND MESSAGE
PUBNUB.publish({
	channel: "hello_world",
	message: "hi",
});

pubnub有以下几大特点

多语言,跨平台

pubnub支持多种语言:php/ruby/python/perl/erlang/js。支持多种客户端:Mobile/Browser/XBOX等等。你在本地运行一段js publish脚本,服务器端如果正在监听这个channel,就会收到js传送的信息,然后作进一步处理。也可以在本地命令行运行一段python subscribe程序,等服务器端有更新时,publish一下,python程序就会收到结果,而且是即时的。可以是多个程序/多种语言向同一个channel发送/接收信息。

安全

前面说了,每个应用程序都可以向特定的channel发送消息,那如何才能保证channel的私密性呢?

如果要使用pubnub服务,就需要先注册,注册完后会有pub key/sub key/secret key,如果要使用相应的服务,则需使用相应的key。比如要发送消息,要使用pub key,此时的channel只对该pub key有效。如果有其他的应用也使用了该channel名称,但因为pub key不同,所以不会互相干扰。

此外,pubnub也支持SSL,保证数据的安全性。

效率

  • pubnub是用C写的,运行在Amazon EC2和Rackspace上,通过GAE来远程监控。

  • pubnub的消息传送速度是纳妙级的,当断网重连后,消息会重新传递

其他

可惜的是这么好的服务是收费的,庆幸的是有免费版,每天可以免费发送5000条消息,对于个人的应用来说应该够用了。如果不够用,也可以买消息,5$可以买100,000条消息。

PS:pubnub规定每条消息不能超过1800字节,所以不要指望传送大量数据。

因为有被Qiáng的风险,所以国内的企业可以自己实现一套类似的即时消息系统,对于应用之间的解耦也大有帮助。


--EOF--

若无特别说明,本站文章均为原创,转载请保留链接,谢谢