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

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

=移动互联快速开发平台=
==设计文档==

==rest-api==
spring rest+spring data+mongodb
#.采用Mongodb为底层数据库:数据设计随需而变;
#.采用Mongodb集群,支撑大数据量,大并发实时查询,便于扩展;
#.采用SpringMongodb简化开发,简单得令人发指;
#.采用SpringRest提供JSON的输出,支持各种转换;
#.提供程序整合、兼容中文、跨域JSONP的支持;
#.进行了大数据量的压力测试,参数的最优配置;
#.各种最佳实践。

==client==

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

#.适配主流的安卓和IOS浏览器;
#.JQueryMobile组件构造界面;
#.使用模板引擎Mustache转换JSON数据,动态组合JQueryMobile组件;
#.使用Dreamweaver的模板和库进行HTML5代码的复用;
#.引入常用的图表展现工具;


==最佳实践(todo)==
#.Mongodb的优化配置,Mongodb的分片集群的安装;
#.Nginx and Keepalived 负责均衡;
#.Tomcat优化配置,Tomcat集群共享Session MSM(memcached)配置;
#.fastweb-mobile日志采集分析展现;
#.Spring aop asyc jmx 等使用示例;

==集群==
Tomcat优化配置,Tomcat集群共享Session MSM(memcached)配置;
#.启动Tomcat MSM的集成环境;
先手动启动mem-clu1.bat mem-clu2.bat mem-clu3.bat
#.启动集群
手动启动tomcat1.bat tomcat2.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配置
upstream backend {
ip_hash;
server 127.0.0.1:8180 weight=10;
server 127.0.0.1:8280 weight=10;
server 127.0.0.1:8380 weight=10;
}

==日志采集到mongodb==
1.设置日志格式
log_format json '{'
'"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_log logs/access.log.json json;

3.导入到mongodb
more log2mongodb.sh
for i in `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 'todo import 2 mongodb '
mongoimport -d admin -c weblog -port 40000 $lname
mv $lname /var/log/nginx/done-2mongodb/
echo 'done $lname'
done

#定时调度
#添加执行权限
#chmod +x log2mongodb.sh
#每天0点01分启动。
#01 00 * * * /路径/log2mongodb.sh


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

你可能感兴趣的:(移动互联网快速开发平台-增加集群和日志入库)