关于网上论坛

作者: 阮一峰

日期: 2009年10月29日

珠峰培训

天,jQuery的创始人John Resig怒气冲冲地宣布,不再使用Google Groups

他写了一篇长达2000个单词的文章,详细解释了为什么。请注意,2000个单词啊,打印在A4纸上,足足有三页。像他这样炙手可热的顶级程序员,愿意坐下来,写那么长的文章表达不满,可见真的是忍无可忍。

我也是Google Groups的用户,他所说的那些问题,我都遇到过,所以对他的抱怨深有同感。下面我就谈谈我的看法。

一、Google Groups是什么?

为了帮助那些不熟悉这个话题的朋友跟上后面的讨论,我先简单介绍一下Google Groups。

它是Google公司提供的网上论坛服务,你可以利用它,快速架起一个多人讨论区,在里面发起新的话题或者回复别人的话题。更妙的是,它还有邮件列表的功能,可以用Email,张贴自己的发言或者接收别人的发言。

当然,从网上论坛的角度看,它的功能是比较弱的,与流行的论坛软件没法比。比如,它不允许对话题分组,因此没有板块功能,而且你不能在发言中插入图片,唯一的办法是发送附件。此外,它也不提供数据导出功能,基本上只要你使用了,就等于把所有数据都送给google公司了,自己没法再利用。

但是不管怎么说,它提供了基本的讨论功能,而且出于我后面要谈到的原因,大家依然愿意使用它。

另外,我也必须提一句,它别的功能也许不行,但是全文搜索功能绝对强大,不愧是google出品。

(插入语:Google Groups在国内好像被屏蔽了,有时就连加密的https连接都会断。欢迎大家告诉我,当地是否可以正常使用这项服务。)

二、Google Groups最大的缺点

John Resig最不满的地方,也是其他用户最不满的地方,就是Google Groups里面的spam(垃圾帖)实在是太多了。

我开设的讨论组基本上无人知晓,但是每天也会收到2~3条spam,不知道这些人从哪里找到我的网址的;John Resig开设的讨论组有2万个成员,属于著名讨论组,你可想而知他每天要收到多少条spam!

更可气的是,一旦收到了spam,你毫无办法,只能一条条手工删除,然后第二天还会照样收到。想一想吧,让一个顶级程序员,日复一日,手工对抗灌水机的进攻,将时间浪费这种事情上面,怎能不让他郁闷呢!

真难以相信,Google公司就听任spam横行,不提供任何有效的过滤措施,你唯一能做的,就是打开审核设置,在帖子发表之前对它进行审核。难怪John Resig要质疑,为什么Gmail可以自动过滤垃圾邮件,而Google Groups就做不到呢?这算不算产品歧视呢?

好吧,在走投无路的情况下,你只有打开审核设置了。但是,这样做虽然可以净化讨论环境,但是却让整个事情变得更糟了。首先,你的工作量增大了,你不得不手工批准每一条发言;其次,用户的感受变差了,因为没有人喜欢自己的发言被审查,有的用户可能会因此攻击你,与你大谈美国宪法第一修正案;最后,假定你的讨论组非常受欢迎,每过五分钟,都有用户从地球的某个角落跳出来发言,那么你去睡觉的时候,谁来审核呢?你只能任命一些管理员,让他们按照时区顺序分担审核责任,并且为他们制定出统一的审核政策,这就让论坛的管理和人际关系变得复杂了。

所以到头来,只能有两种结果,一种是你被累死了,另一种是你将论坛设置为封闭式,只有经过批准的成员才能加入和发言。

两种结果都无法接受,John Resig只好选择退出了。

三、项目开发者需要什么?

当你开发出一个项目以后,你需要有一个地方,与用户直接交流。用户提出问题,你来回答,就是这么简单。这就是你需要网上论坛提供的所有功能。Google Groups那么简陋,大家还是愿意用它,原因就在这里,因为你不想为了这么单纯的需求,自己去架设一个全功能的论坛。

试想一下,如果你自己搭建一个论坛,要干哪些事情:

1)你要选择一个论坛软件,但是一旦用上以后,就等于被绑架了。论坛软件的每一次升级,你都必须跟上;如果将来你想改用其他软件,或者原来的软件停止开发,你就要愁死了,因为这意味着,你不得不自己写程序去转换数据。

2)你要架设一个后台数据库,通常是MySQL,这就是说,你又多了一项管理数据库的任务。要知道世界上有一种人叫做DBA,他们的全职工作就是管理数据库,经常有半夜三点被叫到机房的经历,所以管理数据库真的是一种费心费力的活,不到万不得已,你千万不要把这种活揽到自己头上。

3)你不得不绞尽脑汁,将每一项论坛的后台设置都设好。我最喜欢的论坛软件叫做vBulletin,它的后台设置多达2000多项,大部分我从来没有搞清楚过。我曾经设想,要是我把每一项设置都搞清楚,我就可以去开一家VBulltin的咨询公司了。

所以,如果你选择自己架设论坛,你的精力就会被分散,你用于开发项目的宝贵时间,就被论坛的维护和管理消耗掉。

你的初衷只是要找一个可以与用户对话的地方,没必要把一切搞得这么复杂。既然使用Google Groups,能够在5分钟里搭好一个网上论坛,那么大家当然就去用了。遗憾的是,Google这个产品并不理想。

四、论坛软件的尴尬之处

John Resig的烦恼,在更深的层次上,我认为反映了论坛软件在开发上的困境。

今天的论坛软件,在模式上与10年前没有本质区别,主要功能和运作模式都是那时定下的。以国内市场占有率最高的Discuz!为例,最新的版本是7.0版,但是实际上它同最早的版本相比,除了功能更强大以外,没有太大的区别,两者都是在做同样的事情。

我不是说现在的论坛模式不好,而是说这种模式不适合进一步发展,所以开发就走入了死胡同,只能做功能的增强,而不能做模式的创新。

现有的论坛模式不具备可扩展性(scalable)。由于对数据的实时性要求太高,导致不能对论坛软件使用缓存,这就是说,基本上网上论坛都是一个单机系统,CDN和反向代理都用不上。单机系统的结果,就是论坛软件不可能负担太多的访问者。像vbullentin这样的软件,同时在线人数不能超过10000~15000人,否则就会有性能问题。不用打听你就知道,10000多人属于访问量比较小的网站,所以论坛都做不大。

如今的时代是Web 2.0的时代,它的特征包括提供API接口、前台界面的多样化和去中心化等等。Facebook和Twitter,都不把自己称为网站,而是把自己叫做平台,意思就是说,我只提供基础设施,随便你怎么造房子。我就常常想,论坛的2.0时代什么时候到来呢,会是什么样子,又怎么来实现呢?

五、论坛软件可能的创新之处

我记得,以前看到过有人提议,可不可以基于BT下载的模式(或者点对点协议),做出一个论坛。这样做的好处是,数据在用户之间进行交换,这样就不存在中心服务器了,因此论坛可以做得很大;坏处是一条发言想被所有人看到,也许有一个很漫长的数据交换过程,即时的对话和讨论基本上不可能发生。退一步说,usenet就是一个去中心化的讨论区,的确规模非常大,但是大家也知道,在上面讨论问题,效率不高。

我设想中,未来的论坛应该提供这样几个功能:

1)支持openID,这样就省略了注册步骤。

2)开放API编程接口,允许用户进行再开发,可以远程发言和调用数据。Google Groups如果开放API的话,防spam的问题就很容易解决了,还可以附加很多别的功能,我相信到时其他论坛软件恐怕都要死定了。

3)数据储存和前端逻辑必须分离。从MVC的角度说,就是Model(模型)要同View(视图)和Controller(控制)分离,只要把各自的接口规定好就行了。这样一来,数据的维护和平台开发都会变得非常容易。说实话,Amazon公司提供一种SimpleDB服务,你可以将数据都放到那里去嘛,然后前台的论坛程序,其实就干两件事:控制用户行为和同SimpleDB交换数据。

(完)

一灯学堂

优达学城

留言(36条)

经过博文视点周筠老师介绍第一次看您的文章,虽然不是很懂,但是很深刻,以后常来学习.......19年来第一次感觉到自己如此无知.....

Google Groups是挺方便的~~广东湛江联通可以上~

重庆电信,不能

...无锡电信,可以。
其实spam的问题,对我来说不是问题,我用gmail接受group的帖子,也用gmail发贴,如果有spam,就在gmail里report了,group里的spam,就不管它了。

苏州电信 不行

我还不知道有Google Groups呢,不过现在明白了,一会就去看看,呵呵。

呵呵,看来峰兄对论坛软件还是挺有研究的。原来论坛软件还有这么多问题,看来是很有前途的一件事情,改进的空间很大,值得好好研究,建议峰兄多发一些有关的文章。
BTW,我原来是做电信软件的,客户应该是在百万数量级,这种不分层的结构基本上是不可行的。

论坛系统一样可以多台应用服务器做负载均衡、多台数据库服务器做主从,CDN可以分发附件等。

至于例子,看看那些游戏论坛吧,有需要自然有解决方案,只是代价高低而已。

看来站长的论坛要酝酿更久了……武汉电信,可以登陆。好像每周会收到读书公园的GROUP 1~2封SPAM

ggroup我用了很久了,加入审核就可以防止垃圾,平时可以在里面传些文件,写写wiki,个人用感觉挺好的,也许ggroup本身就是定位小的团体使用的
需要在spam过滤上多做功夫,毕竟魔高一丈

我在深圳市,我用的是广东电信深圳公司的ADSL服务。我这里可以上google group

欧,我痛恨Spam,我管理的我们单位的网站,因为最初开发的时候我觉得很有趣,就要求加了blog功能,已经是不开放注册和发表的了,可留言和引用的spam经常都是几千几万条地出现,当初因为我技术太烂,网站公司就给我搭了个简易后台,导致很多功能无法在后台进行修改或批量删除,我要删除这些垃圾信息,就得让人到机房的服务器上去做。可机房又不属于我管,我实在太烦了,最后只好关闭了所有留言引用的功能,这个blog功能现在半废弃。

对啊,加入审核环节,请写出床前明月光的下一句,不信治不了丫的:)

同学,我们有个东西叫做邮件列表,可以解决论坛的问题,它已经用了大约40年了。

北京和珠海都可以上 Group;
不过,我们一直将之作为纯粹的邮件列表来用的,
配合 GMail 基本可以无视Spamer ... 大家第一时间设立过滤就好;
另外,技术列表,一定要进行注册评审,
谁进行多次 Troll 就公决踢出去了,
总之,将 GooleGroup 作为单纯的简单邮件列表来用非常好用;-)

我们的主力活动场所...
http://groups-beta.google.com/group/python-cn

不过,上述问题都存在的,只是将一个邮件列表想当BBS 来用不值得..

Aamazon已经有了MySQL的云服务,按小时收费。以前一直用S3存取静态文件,最近也在考虑把数据库搬到云里。

我觉得上面的人都没得我研究得深,其实论坛的问题,就是人的问题。就是人和互联网的问题。就是一直以来互联网发展胫瓶的问题。可惜啊,没有人能解决,甚至没有人能发现。比如人际关系这一关,我看大多数老外都忽略了这个。特别是搞技术的人。

最近看到一个很不错的论坛服务,用来作产品支持论坛是再好不过的。
演示:http://getsatisfaction.com/apple
话题可以按提问、建议、问题申报、给予鼓励来分类,以提问来说,你可以在别人的提问上点击“我也有这样的问题”,从而自然的通过用户投票掘出常见问题。
像apple这种多产品的公司,也可以按照产品来关联话题。

这个服务是有收费阶梯的,按照功能来划分了好几个收费额度,从$19/m到$299/m不等。同时也有一个基础方案可以免费使用,免费的方案是for “Companies just getting started, pet projects, and people without any money :) ”。

---------------
我不是推销员..只是自觉这一服务不错,如果有人需要的话,或许会有帮助。

我今天早上也看到 Resig 的文章了,也发表了一下感想:

http://groups.google.com/group/nutzam/browse_thread/thread/cfa7bbd6b5292f4e?hl=zh-CN

我在北京,用 Google Group 没问题,偶尔会断,但是很快就能恢复

用mail list就可以啦。

大部份的知名软件都是用mail list来做讨论的。

非常赞同,group里的spam实在太多。

最近也想架一个BBS,烦恼ING。我发现Git很不错,不知能不能将它弄成一个简单的类BBS。

引用Pierre的发言:

用mail list就可以啦。

大部份的知名软件都是用mail list来做讨论的。

mail list也是垃圾信息不断的,我们的小组虽然才100号人,但是垃圾信息也是每天几条

湖北教育网不能上,加了s

广州电信可以上。
如果可以发截图我会发我在TopLanguage的截图上来。
https://groups.google.com/group/pongba

一直就只把这个当mail list 呵呵

易用度还不如百度贴吧;但后者和谐的太厉害了...

天津联通可以上。

陕西人民致电:

西安地区可以正常使用

Why Google Group? Why not a BBS or a Blog? https://groups.google.com/group/lihlii/browse_frm/thread/79d56f22e43fab7
Veiled Darknet 基于 HTTP 的 P2P 秘密网络 https://groups.google.com/group/lihlii/browse_frm/thread/f5fdc676c17d2b9b
立里: email 发布和订阅blog 和邮件组比较 https://groups.google.com/group/lihlii/t/18c4d7061921c67b
立里: 我把这个邮件组当作一个 blog 在使用 https://groups.google.com/group/lihlii/msg/8e3cd095993caa8f
立里: BBS, Mailing List, email group, Usetnet newsgroup, webforum, embedded comment / forum system 简史述评 https://groups.google.com/group/lihlii/t/4de7dac29bf7620f
立里: 北国: 推荐几个Google小组 https://groups.google.com/group/lihlii/t/6607241057960ac0
立里: 网络信息服务模式的演进 https://groups.google.com/group/lihlii/browse_frm/thread/b9a4e67f3bfca47c
立里: 分布式论坛 https://groups.google.com/group/lihlii/browse_thread/thread/8b464153d636ec23

Google Groups是好东西,和Gmail配合使用更是绝妙。在图灵,我们用得很爽。Spam的问题,他们其实有举报机制的,只是大家用得看来不够多,所以效果不如Gmail。

另外,将论坛访问权限设置一下,不能随便什么人都发帖,至少第一次发贴要审核,用户多的再找几个靠谱的人当管理员审核一下,就没有这些问题了。

当然,Google的人告诉过我,Groups这个产品在Google内部级别很低,投入的资源的确不多。

John Resig的帖子下面,Google公司Groups产品的项目经理Shimrit Ben-Yair这样回复的:
I'm the product manager for Google Groups, and I wanted to let you know that we are aware of the problems you've described and apologize that it's gotten this bad for you.
We have been working hard to resolve many of these issues, with visible improvements just around the corner. So, please don't bail on us just yet! We'd love your input on some of the impending changes -- so if you're game, we'd be happy to preview at least part of the changes by way of seeing if they improve your situation at all. If you're interested, I'd be happy to contact you over email to discuss.

垃圾邮件跟受众有很大关系吧!不知道以后豆瓣走向何方

上海电信ADSL,
https能连,http会被重置。

1月前的确很不稳定,
即便前者也会出现连接问题

很多地方无法访问,通过代理看了一下,个人觉得体验不如百度贴吧!

关于春节值班费还有比吃大锅饭过份的事:四川有一位女医师到某医院门诊部上班八年多来没有一天休假,前几年月工资500元,药房有两位职工轮流上班,工资是她的几倍,而她既是医生又当护士每天从早忙到晚。以后几年,增加了一位护士,一位电脑收费员(以前没有护士、电脑),而她不但没有一天休假,而且药房职工休假1:客她看完病就到药房捡药,护士休假她就要输液,电脑收费员休假她处完方就要电脑输入收费。每年春节她没有休假过一天,今年春节医院领导给门诊部四人平均发了值班费后,她仍然让其它三位回家过年,初五上班。考虑到腊月三十、初一该地没有客车,就让两位没有车的在腊月二+九回家,安排有车的护士在腊月三十回家,她还赌气,平时工作中,她只做护士工作还怨言不断,病人也说她的态度不好,而前几年没有护士,几个输液室经常睡满人,这位医师处了方还要去输液,从早忙到晚,每月工资只有500元也没有一句怨言…

你好,阮老师

我现在在开发一个产品,是面向全球的的一个产品,我暂时很low,但是产品还是不错的(你肯定会喜欢),目前我们团队遇到了一个跟负载均衡有关的问题。我们希望国内的用户访问我们国内的服务器,国外的用户访问我们国外的那些服务器,也就是基于地理位置的负载均衡,不一定是最高效的,但是目前只是想知道怎么实现以避免后顾之忧。您能推荐一些相关的文章或者书籍吗?我自己也Google百度过,也搜索过知网的学术文献,但是始终没有找到合适的解决方案,唯一的解决方案是找一些服务提供商例如AWS,F5之类的公司。不过暂时预算不够,另外,我们的技术人员也希望可以学习这些技术而不是通过点击几下鼠标就解决这个问题。

谢谢

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接