移动互联网快速开发平台-增加集群和日志入库

EatgirlHuiUnique 2013-03-23

目标:前端基于组件的快速开发,平台基于引擎的逻辑开发,基于分享的RestApi。

=移动互联快速开发平台=

==设计文档==

==rest-api==

springrest+springdata+mongodb

#.采用Mongodb为底层数据库:数据设计随需而变;

#.采用Mongodb集群,支撑大数据量,大并发实时查询,便于扩展;

#.采用SpringMongodb简化开发,简单得令人发指;

#.采用SpringRest提供JSON的输出,支持各种转换;

#.提供程序整合、兼容中文、跨域JSONP的支持;

#.进行了大数据量的压力测试,参数的最优配置;

#.各种最佳实践。

==client==

===安卓===

PhoneGap

===IOS===

PhoneGap

===HTML5===

{{{快速开发的前端架构,专业化分工、快速开发、沉淀复用开发的View。}}}

#.适配主流的安卓和IOS浏览器;

#.JQueryMobile组件构造界面;

#.使用模板引擎Mustache转换JSON数据,动态组合JQueryMobile组件;

#.使用Dreamweaver的模板和库进行HTML5代码的复用;

#.引入常用的图表展现工具;

==最佳实践(todo)==

#.Mongodb的优化配置,Mongodb的分片集群的安装;

#.NginxandKeepalived负责均衡;

#.Tomcat优化配置,Tomcat集群共享SessionMSM(memcached)配置;

#.fastweb-mobile日志采集分析展现;

#.Springaopasycjmx等使用示例;

==集群==

Tomcat优化配置,Tomcat集群共享SessionMSM(memcached)配置;

#.启动TomcatMSM的集成环境;

先手动启动mem-clu1.batmem-clu2.batmem-clu3.bat

#.启动集群

手动启动tomcat1.battomcat2.bat

#.测试集群Session,Session一致,集群环境OK

http://localhost:8180/examples/jsp/sessions/my.jsp

http://localhost:8280/examples/jsp/sessions/my.jsp

#.启动nginx.bat,测试返回session与tomcat的session一致

http://localhost/examples/jsp/sessions/my.jsp

#.自己笔记本,6G内存,压力测试,并发3000无碍

#.扩充集群:

拷贝tomcat-2到tomcat-3,更改server.xml端口不冲突;

增加nginx配置

upstreambackend{

ip_hash;

server127.0.0.1:8180weight=10;

server127.0.0.1:8280weight=10;

server127.0.0.1:8380weight=10;

}

==日志采集到mongodb==

1.设置日志格式

log_formatjson'{'

'"remote_addr":"$remote_addr",'

'"remote_user":"$remote_user",'

'"time_local":"$time_local",'

'"request":"$request",'

'"status":$status,'

'"body_bytes_sent":$body_bytes_sent,'

'"http_referer":"$http_referer",'

'"http_user_agent":"$http_user_agent",'

'"http_x_forwarded_for":"$http_x_forwarded_for"'

'}';

2.设置输出文件名称

access_loglogs/access.log.jsonjson;

3.导入到mongodb

morelog2mongodb.sh

foriin`find/var/log/nginx-name"access.log*.gz"`

do

#echo$i|awk-F='{print$1}'

filename=`echo$i|awk-F='{print$1}'`

mkdir-p/var/log/nginx/done-2mongodb/

gunzip$filename

lname=${filename%.*}

echo$lname

echo'todoimport2mongodb'

mongoimport-dadmin-cweblog-port40000$lname

mv$lname/var/log/nginx/done-2mongodb/

echo'done$lname'

done

#定时调度

#添加执行权限

#chmod+xlog2mongodb.sh

#每天0点01分启动。

#0100***/路径/log2mongodb.sh

https://code.google.com/p/fastweb-mobile/

相关推荐