维基百科是一个
自由、
免费、
内容开放的百科全书协作计划,参与者来自世界各地。这个站点使用Wiki,这意味着任何人都可以编辑维基百科中的任何文章及条目。维基百科开始于
2001年1月15日,
中文维基百科正式开始于
2002年10月.维基百科(英语:
Wikipedia,是维基媒体基金会的商标),是一个基于
wiki技术的多语言
百科全书协作计划,也是一部用不同语言写成的网路百科全书,其目标及宗旨是为全人类提供自由的百科全书──用他们所选择的语言来书写而成的,是一个动态的、可自由访问和编辑的全球知识体。也被称作“人民的百科全书”。Wiki一词来源于夏威夷语的“wee kee wee kee”,原本是“快点快点”的意思。在这里WikiWiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且创建、更改、发布的代价远比HTML文本为小;同时Wiki系统还支持面向社群的协作式写作,为协作式写作提供必要帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供简单的交流工具。与其它超文本系统相比,Wiki有使用方便及开放的特点,所以Wiki系统可以帮助我们在一个社群内共享某领域的知识。http://www.wikipedia.org 是维基百科多语言入口页,这里列出所有的维基百科语言版本。维基百科本身有三个引人注意的特点。正是这些特点使维基百科与传统的百科全书有所区别:首先,维基百科将自己定位为一个包含人类所有知识领域的百科全书,而不是一本词典,在线的论坛或其他任何东西。其次,计划本身也是一个wiki,这允许了大众的广泛参与。维基百科是第一个使用wiki系统进行百科全书编撰工作的协作计划。还有一个重要的特点,那就是维基百科是一部内容开放的百科全书,内容开放的材料允许任何第三方不受限制地复制、修改,它方便不同行业的人士寻找知识,而使用者也可以不断增加自己的知识从而充实自己!
Wikipedia使用的软件:PHP脚本,
MySQL作为数据库,
Apache作为网页服务器,Wikipedia服务器的
操作系统是
GNU/Linux.
Wiki是一种在
网络上开放、可供多人协同创作的
超文本系统,Wiki包含一套能简易制作、修改
HTML网页的系统,再加上一套记录和编排所有改变的系统,并且提供还原改变的功能。使用WiKi系统的
网站称为WiKi网站,WiKi网站允许任何造访它的人快速轻易地添加、删除、编辑所有的内容,而且通常都不用登录,因此特别适合团队合作的写作方式。WiKi系统也可以包括各种辅助工具,让使用者能容易地追踪wiki的历史变化,或是让众使用者之间讨论解决关于wiki内容的分歧。WiKi的内容也可能有误,因为使用者必定会加上不正确的资料。Wiki是任何人都可以编辑的网页。在每个正常显示的页面下面都有一个编辑按钮,点击这个按钮你就可以编辑页面了。为了维持网站的正确性,wiki在技术上和运行规则上做了一些规范,做到既持面向大众公开参与的原则又尽量降低众多参与者带来的风险。这些技术和规范包括:
1、保留网页每一次更动的版本:即使参与者将整个页面删掉,管理者也会很方便地从纪录中恢复最正确的页面版本。
2、页面锁定:一些主要页面可以用锁定技术将内容锁定,外人就不可再编辑了。(虽然wiki都有这个功能,但我看到使用它的甚少,这可能跟w iki倡导的精神相违背吧)。
3、版本对比:wiki站点的每个页面都有更新纪录,任意两个版本之间都可以进行对比,wiki会自动找出他们的差别。
4、更新描述:你在更新一个页面的时候可以在描述栏中写上几句话,如你更新内容的依据、或是跟管理员的对话等。这样,管理员就知道你更新页面的情况。
5、IP禁止:尽管wiki倡导“人之初,性本善”,人人都可参与,但破坏者、恶作剧者总是存在的,wiki有纪录和封存IP的功能,将破坏者的IP纪录下来他就不能在胡作非为了。
6、Sand Box(沙箱)测试:一般的wiki都建有一个Sand Box的页面,这个页面就是让初次参与的人先到Sand Box页面做测试,Sand Box与普通页面是一样的,这里你可以任意涂鸦、随意测试。
7、编辑规则:任何一个开放的wiki都有一个编辑规则,上面写明大家建设维护wiki站点的规则。没有规矩不成方圆的道理任何地方都是适用的。
架构示意图如下:
Copy @Mark Bergsma
在我写的这些网站架构的 Blog 中,GeoDNS 第一次出现,这东西是啥? "A 40-line patch for BIND to add geographical filters support to the existent views in BIND", 把用户带到最近的服务器。GeoDNS 在 WikiPedia 架构中担当重任当然是由 WikiPedia 的内容性质决定的--面向各个国家,各个地域。
负载均衡:LVS
WikiPedia 用 LVS 做负载均衡, 是章文嵩博士发起的项目,也算中国人为数不多的在开源领域的骄傲啦。LVS 维护的一个老问题就是监控了,维基百科的技术人员用的是 pybal.
图片服务器:Lighttpd
Lighttpd 现在成了准标准图片服务器配置了。不多说。
Wiki 软件: MediaWiki
对 MediaWiki 的应用层优化细化得快到极致了。用开销相对比较小的方法定位代码热点,参见
实时性能报告,瓶颈在哪里,看这样的
图树展示一目了然。另外一个十分值得重视的经验是,尽可能抛弃复杂的算法、代价昂贵的查询,以及可能带来过度开销的 MediaWiki 特性。
Cache! Cache! Cache!
维基百科网站成功的第一关键要素就是 Cache 了。CDN(其实也算是 Cache) 做内容分发到不同的大洲、Squid 作为反向代理. 数据库 Cache 用 Memcached,30 台,每台 2G 。对所有可能的数据尽可能的Cache,但他们也提醒了 Cache 的开销并非永远都是最小的,尽可能使用,但不能过度使用。
数据库: MySQL
MediaWiki 用的DB 是 MySQL. MySQL 在 Web 2.0 技术上的常见的一些扩展方案他们也在使用。 复制、读写分离......应用在 DB 上的负载均衡通过 LoadBalancer.php 来做到的,可以给我们一个很好的参考。
Wiki站点一般都有着一个严格的共同关注,Wiki的主题一般是明确的坚定的。Wiki站点的内容要求着高度相关性。最其确定的主旨,任何写作者和参与者都应当严肃地遵从。Wiki的协作是针对同一主题作外延式和内涵式的扩展,将同一个问题谈得很充分很深入。Blog是一种无主题变奏,一般来说是少数人(大多数情况下是一个人)的关注的蔓延。一般的Blog站点都会有一个主题,凡是这个主旨往往都是很松散的,而且一般不会去刻意地控制内容的相关性。
Wiki非常适合于做一种 “All about something”的站点。个性化在这里不是最重要的,信息的完整性和充分性以及权威性才是真正的目标。Wiki由于其技术实现和含义的交织和复杂性,如果你漫无主题地去发挥,最终连建立者自己都会很快的迷失。Blog注重的是个人的思想(不管多么不成熟,多么地匪夷所思),个性化是Blog的最重要特色。Blog注重交流,一般是小范围的交流,通过访问者对一些或者一篇Blog文章的评论和交互。
Wiki使用最多也最合适的就是去共同进行文档的写作或者文章/书籍的写作。特别是技术相关的(尤以程序开发相关的)FAQ,更多的也是更合适地以Wiki来展现。Blog也有协作的意思,但是协作一般是指多人维护,而维护者之间可能着力于完全不同的内容。这种协作在内容而言是比较松散的。任何人,任何主体的站点,你都可以以Blog方式展示,都有它的生机和活力。
柳德才
13691193654
18942949207
QQ:422157370
liudecai_zan@126.com湖北-武汉-江夏-庙山