大型web2.0互动网站设计方案

 

大型web2.0互动网站设计方案

分析mixi.jp and Yeejee.com:用开源搭建的可扩展大型SNS网站(一)

总概关键点:

1,Mysql 切分,采用Innodb运行

2,动态Cache 服务器 --

美国Facebok.com,中国Yeejee.com,日本mixi.jp均采用开源分布式缓存服务器Memcache

3,图片缓存和加速

 

Mixi目前是日本排名第三的网站,全球排名42,主要提供SNS服务:日记,群组,站内消息,评论,相册等等,是日本最大的SNS网站。Mixi从2003年12月份开始开发,由现在它的CTO - Batara Kesuma一个人焊,焊了四个月,在2004年2月份开始上线运行。两个月后就注册了1w用户,日访问量60wPV。在随后的一年里,用户增长到了21w,第二年,增长到了200w。到今年四月份已经增长到370w注册用户,并且还在以每天1.5w人的注册量增长。这些用户中70%是活跃用户(活跃用户:三天内至少登录一次的用户),平均每个用户每周在线时间为将近3个半小时。

下面我们来看它的技术架构。Mixi采用开源软件作为架构的基础:Linux 2.6,Apache 2.0,MySQL,Perl 5.8,memcached,Squid等等。到目前为止已经有100多台MySQL数据库服务器,并且在以每月10多台的速度增长。Mixi的数据库连接方式采用的是每次查询都进行连接,而不是持久连接。数据库大多数是以InnoDB方式运行。Mixi解决扩展问题主要依赖于对数据库的切分

首先进行垂直切分,按照表的内容将不同的表划分到不同的数据库中。然后是水平切分,根据用户的ID将不同用户的内容再划分的不同的数据库中,这是比较通常的做法,也很管用。划分的关键还是在于应用中的实现,需要将操作封装在在数据层,而尽量不影响业务层。当然完全不改变逻辑层也不可能,这时候最能检验以前的设计是否到位,如果以前设计的不错,那创建连接的时候传个表名,用户ID进去差不多就解决问题了,而以前如果sql代码到处飞,或者数据层封装的不太好的话那就累了。

这样做了以后并不能从根本上解决问题,尤其是对于像mixi这种SNS网站,页面上往往需要引用大量的用户信息,好友信息,图片,文章信息,跨表,跨库操作相当多。这个时候就需要发挥memcached的作用了,用大内存把这些不变的数据全都缓存起来,而当修改时就通知cache过期,这样应用层基本上就可以解决大部分问题了,只会有很小一部分请求穿透应用层,用到数据库。Mixi的经验是平均每个页面的加载时间在0.02秒左右(当然根据页面大小情况不尽相似),可以说明这种做法是行之有效的。Mixi一共在32台机器上有缓存服务器,每个Cache Server 2G内存,这些Cache Server与App Server装在一起。因为Cache Server对CPU消耗不大,而有了Cache Server的支援,App Server对内存要求也不是太高,所以可以和平共处,更有效的利用资源。

图片的处理就显得相对简单的多了。对于mixi而言,图像主要有两部分:一部分是经常要使用到的,像用户头像,群组的头像等等,大概有100多GB,它们被Squid和CDN所缓存,命中率相对比较高;另一部分是用户上传的大量照片,它们的个体访问量相对而言比较小,命中率也比较低,使用Cache不划算,所以对于这些照片的策略是直接在用户上传的时候分发到到图片存储服务器上,在用户访问的时候直接进行访问,当然图片的位置需要在数据库中进行记录,不然找不到放在哪台服务器上就郁闷了。

国内领先的SNS网站-采用类似的系统架构,在下面的文章会进行分析对比。这是稳定与典型的大型互动网站系统架构,web2.0的创业者,在设计网站时,可以参考参考,少走弯路。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
电子商务网站设计方案<br><br>此方案设有方便 用户管理、产品管理、客户服务 等模块。 <br>具有基本电子商务功能,能满足大多数企业的商务应用,开发成本约在6000-10000之间。 <br>……<br>站点功能和需求分析 <br>网站设计成含数据库功能的ASP动态网页。主要包含以下功能 <br> 客户服务和客户关系管理功能 ……<br>网站推广<br>网站的主要目的,是通过网站的推广将互联企业的产品和服务,并使客户随时可以了解企业和企业的产品,这客户提供在线服务和订单处理功能。 <br>从长期的战略目标来说,网站不仅仅是产品和服务的推广,而是通过Internet、企业内部网(Intranet)和企业外部网(Extranet),将买家与卖家、厂商和合作伙伴紧密结合在了一起,因而消除了时间与空间带来的障碍。<br>主要内容动画首页: <br>首页是访问者的第一印象,采用一些新颖而独特的方式给用户留下比较深刻的印象是成功的第一步。 <br>用FLASH制作的全屏动画,能突出表现企业的形象和产品,由于动画本身易于理解,包含有大量直观的信息量,用户可以在打开首页时,快速获得对贵公司的形象、产品和服务的理解。<br>内容页面: <br>网页内容以贵公司的材料为主,我们可以提供协助进行文案的编辑,照片的拍摄等事项。 <br>采用数据库网页,页面内容可以随时更改(一般的办公室议员即可操作),产品内容也可以随时更改,只要把文字输入,数据库会自动生成网页。<br>其他功能: <br>留言版:客户将意见或订单直接记录在网站的小型数据库中。 <br>公司管理员或以浏览这些记录。 <br>目的:协助企业增强业务的互动性、提高客户满意程度,使用户的信息及时反映。 <br>功能:对客户反馈信息的统一管理,自由删除或回复。 <br>支持认证(即留言要经过审核后才能公布)。 <br>可升级为论坛。<br>反馈表:客户将意见或订单直接发送到指定的邮箱中。 <br>网站推广:我公司通过搜索引擎加注方式,并应用WEBRANKING技术,将网站在全球各大搜索引擎注册,WEBRANKING技术能保证在搜索引擎上有较好的排名。(注,部分搜索引擎是收费服务的,如果贵公司需要在这些收费服务的搜索引擎上注册,所需要的费用由贵公司承担)<br>主要功能模块说明产品电子目录功能 <br>目的:宣传自己的产品,是企业上网的主要目的之一,将自己的产品展现给客户,让客户通过网站便能自由选择地购买企业的产品,是产品预订系统的主要目的。 <br>功能: <br>产品分类管理,可以多级分类,以树状组织表现企业的产品系。 <br>产品资料管理,自由增加、删除、修改产品说明与图片。 <br>可以控制产品是否发布,若不发布,该产品在数据库中,但前台浏览不到。 <br>可以控制产品是否允许客户预订,若不允许,该产品在数据库中,前台不提供预订操作。 <br>产品分类检索。 <br>用户通过搜索查询产品。 <br>最新产品浏览。 <br>热门产品浏览。 <br>产品详细资料显示。 <br>产品点击放大。 <br>产品浏览次数记录与统计。 <br>客户可以发表对产品的评论。 <br>客户可在线填写订单,自由选择预订产品,并管理预订。<br>新闻和产品发布系统 <br>……<br><br>客户管理系统 ……<br>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值