APX_Yi 发表于 2013-6-24 18:29:36

Avazu 202 - 基于MongoDB的开源版Prosper 202

首先先介绍下Avazu 202项目:使用过Prosper202 的用户都知道,当P202系统碰到大流量时,跳转速度直线下降,报表速度更是忍无可忍。临时的解决方案就是手动清表 {:soso_e119:},虽然retarded,但是有效。。。

性能差的主要原因从技术角度来看是 MySQL 对并发上的处理并不完善,而P202系统本身从表结构设计上也缺乏了对并发上的考虑,而更多的是考虑了商务逻辑,所以报表语句多处都采用了多表查询的JOIN语句,而前台的跳转代码也多处需要进行INSERT,将数据插入多个不同的表。

我们在2010年时就看到了这个问题,并且内部对P202项目的代码进行了代码重构,目的是将P202变成一个支持高并发的跟踪系统。在数据存储上我们将P202的MySQL迁移到了MongoDB,这样一来,性能扩展方便了很多,而且因为MongoDB natively支持Auto Sharding和Replication,Avazu202也可以做到高可用,也就是当你的莫台服务器挂机时你的跟踪系统完全可以保持正常运行。 Avazu 202的部分代码我们已经在Github上进行了开源,如果你在使用P202时碰到同样的问题,可以让你的技术安装Avazu202 试试看!

备注:我们目前也在和STM进行联系,将STM202的代码迁移到Avazu 202上,这样可以让手机Aff也可以使用Avazu 202!

Github地址:https://github.com/avazu/Avazu_202
新闻稿:
Avazu Labs Releases Open Source Implementation of the World's Mostly Used Tracking Platform
http://www.prbuzz.com/business-entrepreneur/115395-avazu-labs-releases-open-source-implementation-of-the-worlds-mostly-used-tracking-platform-.html

terranboy 发表于 2013-6-24 21:13:14

要求高并发为何不用NODEJS或GOLANG重写下
MONGODB 最好用大内存 小内存会出问题

gagagugu 发表于 2013-6-24 21:18:57

好消息,实用

APX_Yi 发表于 2013-6-24 21:32:47

terranboy 发表于 2013-6-24 21:13 static/image/common/back.gif
要求高并发为何不用NODEJS或GOLANG重写下
MONGODB 最好用大内存 小内存会出问题 ...

P202性能差的主要原因不在于语言本身,而在于数据库,如果PHP重写成Node.js或者Golang也会有同样的问题,而且使用Golang的话后期很难维护,作为开源项目也会直接减少开源社区的commit数量。

terranboy 发表于 2013-6-24 21:51:23

APX_Yi 发表于 2013-6-24 21:32 static/image/common/back.gif
P202性能差的主要原因不在于语言本身,而在于数据库,如果PHP重写成Node.js或者Golang也会有同样的问题, ...

只是单纯针对高并发的想到的 既然脱离了LAMP 也许可以来个适合开发者的版本
MONGODB的自动故障转移的优点 意味着成本不小

jackywang 发表于 2013-6-24 21:56:36

APX_Yi 发表于 2013-6-24 21:32 static/image/common/back.gif
P202性能差的主要原因不在于语言本身,而在于数据库,如果PHP重写成Node.js或者Golang也会有同样的问题, ...

Can't agree more.Ex-Flickr architect Cal Henderson says "Languages don't Scale, Architecture Scale". Distributed architecture is the future. MongoDB and Redis are both good choices as the database ofdistributed system. But MongoDB is indeed a little bit hogging up memory. Waiting for the optimization.

mino 发表于 2013-6-24 22:28:01

跟你们的APXP相比如何?

APX_Yi 发表于 2013-6-25 14:13:26

mino 发表于 2013-6-24 22:28 static/image/common/back.gif
跟你们的APXP相比如何?

APX平台需要做到每天上亿级别的点击和展示处理能力,所以要求更高一些,不过APX的小部分代码是基于Avazu 202的 :)

f4ng 发表于 2013-7-18 14:17:29

STM的谈成了么,开发好了吗~~:$

f4ng 发表于 2013-7-18 14:17:41

STM的谈成了么,开发好了吗~~:$

aoe 发表于 2013-9-24 02:41:39

Fatal error: Class 'Mongo' not found in /home/wwwroot/202/202-config/connect.php on line 111
求指引啊,折腾了一晚上啊{:3_60:}

老刘 发表于 2013-9-24 15:17:36

aoe 发表于 2013-9-24 02:41
Fatal error: Class 'Mongo' not found in /home/wwwroot/202/202-config/connect.php on line 111
求指引 ...

别折腾了。小众程序用的人少,没有后续支持。
出问题没人解决,很蛋疼的。
继续用stm202,至少用的人多

APX_Yi 发表于 2013-9-24 17:23:16

aoe 发表于 2013-9-24 02:41 static/image/common/back.gif
Fatal error: Class 'Mongo' not found in /home/wwwroot/202/202-config/connect.php on line 111
求指引 ...

这个是因为你缺少PHP Mongo扩展包,弄Avazu202需要先弄好环境的。

aoe 发表于 2013-9-24 20:40:41

APX_Yi 发表于 2013-9-24 17:23 static/image/common/back.gif
这个是因为你缺少PHP Mongo扩展包,弄Avazu202需要先弄好环境的。
扩展包已经按照install.txt提示安装好了的{:3_58:}

muster 发表于 2014-3-29 01:45:56

这个还有后续使用的给点意见的么
页: [1]
查看完整版本: Avazu 202 - 基于MongoDB的开源版Prosper 202