首页 >> 网络营销词典 >> 网络营销服务市场 >> 好友买卖

好友买卖[编辑]


好友买卖(Friends For Sale)起源于著名社交网站Facebook,此插件一经推出就获得了广大用户的青睐。风靡后国内社交网站开始模仿跟风,国内最早见于开心网。现在又还有买卖的社交网站有开心网、同楼网、腾讯QZONE、人人网,四千万等网站。

1 游戏起源

  朋友买卖起源于Facebook(一个国际的SNS网站)

  而非开心网

2 Facebook

2.1 基本介绍

  官方命名:Friends For Sale!

  中文译名:好友买卖、朋友买卖

  在朋友买卖插件出现的短短三个月时间内,朋友买卖成为facebook前十名的应用,它每秒钟处理200个请求,每月产生300 000 000个page view。在技术上,选择了Ruby on Rails框架,两个兼职程序员,一打服务器,和优秀的架构。

2.2 应用架构

  l Ruby on Rails

  l CentOS 5(64bit)

  l Capistrano 升级和重启应用服务器

  l Memcached

  l Mysql

  l Nginx

  l Starling 分布式队列服务

  l Softlayer 堡垒主机

  l Pingdom 站点监视器

  l LVM 逻辑卷管理器

  l Dr.Nics Magic Multi-Connections Gem 数据库读写分离

2.3 当前情况

  l Facebook十大热门应用

  l 将近600 000活跃用户

  l 每天500000独立用户访问量并保持持续增长

  l 300 000 000 page view 每月

  l 每月300%的稳定增长率

  l 上个月2100 000 000的独立用户

  l 每秒处理200次请求

  l 每月5TB的流量

  l 两个兼职开发者(目前一个全职),一个远程DBA支持

  l 4台数据库服务器,6台应用服务器,a staging server, a front end server

  六台 4核 8G内存 应用服务器

  每个应用服务器建立16个mongrels一共是96个mongrels

2.4 F&Q答问

  为什么做这个系统:

  做这个系统更多的是为了测试和了解facebook这个系统

  设计系统的时候,在设计,架构和实现方面有什么挑战和创新?

  因为作为facebook的应用,每个请求都不能使用缓存页面,因此,它是一个时实行,并且写操作频繁的系统,对数据库优化要求比较高。

  如何应付这些挑战?

  我们采用memcached作为中间层,每个请求都不直接访问数据库。使用Rail's fragment caching缓存表现层。

  系统目前是什么规模?

  昨日访问量是500 000个独立用户并且访问量一直在增长。根据统计反馈,本月有 300 000 000 的page view。

  带宽使用状况

  上月产生了3T的流量,这月最少5T,内容仅仅是一些图标和xhtml/css。

  文件数目,图片数目,和数据情况

  没有文件,有10 000 000用户信息。只有少量图片。

  增长率?

  Page view由平均3M 每天增长到一个月前的10M每天,之前一个月1M,因此平均300%的月增长率,平均每秒处理200个访问。

  用户需要付费么?

  全部免费

  用户增长率

  平均1%,并且以每天3%的速度增长。

  上月有多少用户活动了?

  通过google的统计,上月有2 100 000 独立用户访问。

  系统架构如何做?

  首先它构建于非常稳定的Rails集群,而且使用nginx软件运行负载均衡和静态内容的服务。6个应用服务器使用4核CPU8G内存。每个应用服务器运行16个mongrels,一共有96个mongrels。负载均衡直接转向mongrels ports。还有,一个4G的memcache服务器,独立的一台对列服务器。

  使用god检测进程。

  数据层,使用两台32G内存,4核CPU,4×15K SCSI RAID 10disk 做主从。使用Dr Nic's magic multi-connection's gem产品做读写分离。

  现在添加了更多的从属服务器可以获得更高的读效率和冗余。

  托管商略。

  如何规划架构

  在应用层没有做什么,因为功能非常琐碎。在数据库方面,我们只有一个主数据库,尽可能去快速分发。垂直划分数据库提高可用性。

  有什么独特的地方可以借鉴?

  三个方面:

  1、两个开发者之前都没有进行过大规模的Rails开发

  2、我们的增长率在Rails开发史上比较少见。

  3、几乎没有做缓存,每个请求直接用Rails处理

  你们中间学到了什么?你们为什么成功?你们是否希望以后做其他的东西,有什么不想改变的?

  我们知道了一个好的托管上,好的硬件,好的DBA都是非常重要的。我们曾经选择Railsmachine,他们是一个非常不错的空间提供商但给我们很大的支持。之后几乎没有碰到过硬件上的问题,而且之用两个小时就平滑切换到了Softlayer上。选择一个好的托管上尤其重要。

  另一个重要的事情是可伸缩的架构一贯问题出现在数据库上。首先检查数据库,一般情况下都可以通过数据库服务器,数据库配置,查询,索引来解决。

  开始就建立在一个好的托管商。

  我们鉴定用Rails,因为这是免费并且可快速开发的程序,实践证明两个小伙在没有充足时间的前提下也顺利开发完成了。

  你们的小组如何组成的?

  我们有两个Rails程序员,包括我在内。而且招安了曾经兼职远程办公的DBA。

  你们一共有多少钱人?

  技术方面,两个兼职的,一个全职的,一个远程办公的DBA。

  你们现在在哪?

  两个全职人员依然在 SOMA area of San Francisco。

  这些人的职责?

  两个开发者作为创始人,我最早做前端开发和程序开发。有一些经验后我也做网管。创始人Alex非常专注于Rails开发,大部分的应用程序是他开发的。现在我主要做数据库方面的工作。

  有什么独特的管理方法?

  首先,找到最聪明的人,给最好的待遇,尽其所长。最好的管理是尽其所长,我用这种方法管理公司。我想我经常在这里出问题。

  你如使一个分散的团队工作?

  有个好的交流工具。远程办公比较痛苦,核心开发还是要在本地,一些DBA之类的事情可以远程。

2.5开发情况

  使用Rails,很多缓存采用Chris Wanstrath的方案,数据库连接使用Dr Nic。我们使用VIM作为编辑器。

  开发语言

  Ruby / Rails

  服务器数量

  12台服务器

  服务器应用情况

  4台数据库,6台应用,一台staging server,一台前端机

  托管商

  Softlayer

  服务器操作系统

  Centos 5 64bit

  Web server

  Nginx

  数据库软件

  Mysql 5.1

  反向代理

  Nginx

  如何部署

  委托Softlayer

  存储

  NAS备份,SCSI硬盘支撑。

  存储容量

  5TB

  存储如何扩展

  Ad-hoc。 我们不关注这块,这是我们的软肋。

  存储服务器

  Nope

  如何处理session

  数据库,memcache也许更好

  数据库如何规划

  目前用的主从。一主多从,使用负载均衡提高读性能。

  如何做负载均衡

  Nginx

  使用何种框架和ajax类库

  Rails

  是否使用了消息服务

  没

  使用了何种分布式任务管理系统

  Starling(队列管理)

  如何处理广告服务

  使用eCPM

  是否使用了标准的API

  Nope

  团队有多少成员

  两个开发

  团队的技能情况

  Me:前端开发,开发(Rails)。最近专注数据库和高扩展性Rails的开发。

  Alex:应用程序开发,前端开发,程序架构设计。

  开发环境

  Alex使用OSX,我在ubuntu上,我们使用svn进行同步,我用vim编辑器,alex用textmate。

  开发进度

  逻辑层,测试驱动开发,在应用层,使用迭代开发。

  缓存策略

  使用memcache no TTL,手工设置过期

  是否采用了客户端缓存机制

  没

2.6 系统管理

  如何保证性能

  使用Pingdom工具进行网页性能监测。

  服务器和网络可用性检测

  现在我们用自己的检测工具和Softlay提供的ping检测工具。最近我们开发了 FiveRuns作为服务器监控工具。

  如何做网络和服务器性能图标

  没有做

  如何测试系统

  我们分模块测试,然后完善的部分,部署到应用服务器上。

  如何做性能分析

  分析每条sql语句保证效率。没有测试标准。

  如何保证安全

  小心

  那些特性需要改进/保持

  反思和批评。我们会非常谨慎得增加一些特性。

  如何做web分析

  使用一个成长中的检测工作做病毒检测,也使用了google analytics。

  是否做A/B测试

  一直在做

2.7 相关说明

  系统设计目标

  支撑facebook应用-买卖朋友。

  它基于一个波动的金融市场。

  目前它是facebook排名前十的热门应用。

  Tips:像买卖宠物一样买卖好友!你可以玩弄他,送礼物,或者用来炫耀。精明的投资者会把他的朋友发展成人们的货物,其实这只是满足

  数据中心是如何设置的

  如何备份和回复系统

  LVM,每周做增量备份,每日做基本备份

  如何升级软硬件

  现在手工来做,除非有新的应用。使用capistrano升级和重启应用服务器。

  如何处理主数据库的升级

  一般是先切换一个从数据库为主,升级完后再切换回来。

  你们的发展计划

  不是很好

  你们有独立的运营团队么

  希望有

  是否使用内容分发系统

  Nope

  盈利模式

  CPM,浏览多收入多。也通过虚拟货币盈利。

  如何营销你们的产品

  口碑。病毒传销。

  在算法上有什么独特的地方

  Ruby已经非常优秀。我们只需要简单应用。

  是否在数据库中存储图片

  没有,这样不太好

  在前端设计上你们都做了什么

  在事情发生之前你不知道会发生什么事情。一旦做过,你会有完备的知识去解决下个问题。

  有什么值得关注的好事或者坏事

  不可靠的硬件,托管商之间沟通的困难,最重要的事情是选择一个能支持你应用的托管商。(sun补充:好像他们的运维都是idc来做)。另一个重要的事情是商用硬件做一个主从设置能支撑多久,你可以轻松支撑10亿级访问。

  系统什么时候增加新的扩展

  没这个计划,事情来了才去计划。

  有什么值得发扬的

  Memcache,你可以随意切分你的架构

  未来是否要调整架构

  我们马上要给用户数据库分区,因为马上就会达到数据库的极限。

  Facebook 营销思想

  l Facebook 成功的把社会关系网络数字化

  l 未来社会关系很重要

  l Facebook把飞速发展的社会关系放在了互联网上

  l 你的应用创意可以是:社会性的,诱人的,通用的。

  l 社会化的病毒营销

  l 货币化

  l 普遍具有潜力

  l 朋友买卖是个社会,因为你可以买卖你的社会关系

  l 因为它只是一个概念,没有压力并且有点调侃的玩,所以非常有趣

  l 它是公平的因为每个人都是虚拟的,有价钱,而且都想变得有人缘。

  l 每次应用都可能发展一些新的用户

  l 从增长指数上来计算,每个人都能影响1.4个人

  l 每个用户发出好多邀请,查看公告,阅读feed,查看用户资料,和其他的项目

  l 每个频道都能跟踪用户点击,修改,和卸载

  本节收获

  l 扩展性从开始就是facebook的一个方向,他们在一周内就做到每天1000000pv的访问量

  l Ruby on Rails可扩展

  l 扩展性表现在架构上,关注架构和运营

  l 你需要个好的DBA,好的托管商,合理的硬件

  l 利用cache和高负载的硬件,你不用去做负载的数据库优化

  l 社会关系是真实的,它构建于facebook的用户基础上,而且有非常好的虚拟应用。

  l 大部分问题都是数据库的,数据库服务器,数据库配置,查询,和索引。

  l 用户依然试用VI

参考资料: 百度百科
扩展阅读: http://abc.wm23.com/Effiel
相关词条:
合作编辑:

网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。

词条信息

浏览次数:45

编辑次数:0历史版本

创建者: 刘飞

最近更新:2012/4/27 4:37:27

词条分类导航

关于网络营销教学网站| 本站动态| 网站地图| 版权声明| 联系作者| 问题和建议|

版权声明:网络营销教学网站所有作品版权均归原作者所有,未经书面许可,严禁任何形式的转载/转贴、出版、篡改、汇编、编译等。