直播系统之实时实现方案
技术
Juggernaut
http://github.com/maccman/juggernaut
使用node技术
实时服务器
redis
数据存储服务器
操作
启动: src/redis-server
客户端: src/redis-cli
rails
web服务器
安装
node
http://nodejs.org/dist/node-v0.4.7.tar.gz
验证小程序
如右
Juggernaut
服务器端安装
npn安装curl http://npmjs.org/install.sh | sh
npm install juggernaut
客户端安装
gem install juggernaut
redis
http://redis.googlecode.com/files/redis-2.2.5.tar.gz
cd src
make PREFIX=/usr/local
make install PREFIX=/usr/local
cp redis.conf /etc/
vim /etc/sysctl.conf
add this line to end:
vm.overcommit_memory=1
sysctl vm.overcommit_memory=1
npm start juggernaut
redis
/path/src/redis-server
download js file , swf file
js
<script src="http://localhost:8080/application.js" type="text/javascript" charset="utf-8"></script>
swf
wget http://juggaddress:8080/WebSocketMain.swf
view层 js 代码
jug.subscribe
controller层代码
Juggernaut.publish("channel1", hash)
其他
应该使用observe模式监控model,把代码从controller层转移到model层
写一个脚本,能同时启动多个服务器
centos 上非源代码安装 nodejs
wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm
rm nodejs-stable-release.noarch.rpm