大型web2.0互动网站设计方案
总概用开源搭建的可扩展大型SNS网站设计方案的关键点:
1,Mysql 切分,采用Innodb运行
2,动态Cache 服务器 --
美国Facebok.com,中国Yeejee.com,日本mixi.jp均采用开源分布式缓存服务器Memcache
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的创业者,在设计网站时,可以参考参考,少走弯路。
旅游网站设计方案
旅游社经营网站应该重点注意的问题:
1、 网页配色方案的建立,形成旅游网站风格
1)、建议参考不同的公司,将前台视觉设计和后台功能开发分包给不同的两家公司,如果想将网站建设好,这是一个不错的选择,因为各有优势,结合在一块才能发挥得最好;
2)、不能选择单一的技术型公司,要选择能够提供从需求分析、网站规划、设计制作到网络营销管理和执行等一条龙服务的全程信息化服务提供商;
2、 对网站建设的分期投入:网站建设和完善不能一蹴而就,需要进行以成本控制为前提,可拓展性和营销应用为导向的信息化规划,根据实际应用需求分阶段实施。
3、 对网站内容的编辑和维护:网站内容信息并非越多越好,非稀缺性信息的收集发布对于服务功能性定位的旅游网站意义不大,只能加重维护人员的工作量。搜集更新与所经营产品相关度高、针对性强、时效性强的信息内容,加以人性化语言的编辑处理,是旅游网站管理维护人员的工作关键。同时,这也是突显企业网站特色,树立良好形象之所在。
4、 对网站功能的设计:由于旅游网站信息更新要求比较高,在进行网站建设时必须重视网站后台管理功能的开发建设,为经营维护人员提供良好的操作环境。总的原则是:良好的互动性,管理智能化,操作界面友好易用。实现上述要求,才能简化操作流程,提高旅行社经营人员的工作效率和网络使用积极性。
5、 对网络营销的合理应用:大部分旅行社建立网站后,并不知道应该如何进行有效的推广。盲目的购买大量邮件地址,发送垃圾邮件或者购买搜索引擎的登录排名服务者还算是有一些营销意识,但这些缺乏系统性、科学性的分散行为远远不能达到令人满意的营销效果。聘请专业的旅游网络营销顾问,从网站规划设计、搜索引擎关键词选择、网页结构编排、营销邮件内容组织、一对一社区营销、网站访问效果监测等诸多环节实施整合营销战略,才能使旅游网站从茫茫网海和众多的竞争者网站中脱颖而出!
6,网站安全性和稳定性问题,对技术提供方的选择,也是做好网站的原则之一:
参考GOOGLE官方对网站设计方案的一些建议
让网站有着清晰的结构和文本链接,所有的页面至少要有一个静态文本链接入口
批注:尽量不要用图片和JAVASCRIPT
为用户提供一个站点地图:转向网站的重要部分。如果站点地图页面超过100个链接,则需要将页面分成多个页面。
批注:索引页不要超过100个链接:SPIDER只考虑页面中头100个链接
用一些有用的,信息量丰富的站点,清晰并正确的描述你的信息。
想像用户可能用来找到你的关键词,并保证这些关键词在网站中出现。
批注:少用“最大”,“最好”之类的形容词,用用户最关心的词,比如:下载,歌星名字,而不是一些抽象名词。
尽可能使用文本,而不是图片显示重要的名称,内容和链接。GOOGLE的机器人不认识图片中的文字。
保证:页面的TITLE和ALT标记正确的精确描述
检查坏链并修正这些HTML错误。
如果你打算使用动态页面:链接中包含"?",必须了解:并非所有的搜索引擎的机器人能想对待静态页面一样对待动态页面,保持动态页面的参数尽可能的少也会很有帮助。 让一个页面中的链接少于100个。
批注:用lynx -dump 可以模拟从robot角度看到的页面。其最后有链接统计。
