IM系统构架技术纲要

2009/09/27 1:56 下午  |  分类:it

某天帮一个老同学做得技术架构作业,做得好烂,差不多2个月了,应该过保密,晒晒稿子

IM系统构架技术纲要

2009-8-4

1     IM工程的概述… 1

2     服务器建设… 1

2.1     认证、计费服务器… 2

2.2     数据库服务器… 2

2.3     文件存储服务器… 2

2.4     通信服务器… 2

2.5     第三方IM信息转发服务器… 2

2.6     地区服务器… 2

3     网络构架… 2

4     客户端设计… 3

4.1     WINDOWS客户端… 3

4.2     Java客户端… 3

4.3     手机客户端、… 3

4.4     Web客户端… 3

1       IM工程的概述

网络即时通讯工具Instant Messaging,简称IM。他的组成分为服务器、网络、客户端这三部分。

目前国内外有多种IM商业产品如ICQ、MSN、QQ等,在设计IM项目的时候,除完善自建IM网络的通信,而且也要考虑到和其他IM产品的互联互通。

IM的技术架构目前已经较完善,成熟的开源项目可以参考jabber,服务器端部分和客户端部分都分别有商业产品和免费产品。

2       服务器建设

通信的传播是由“客户端A>服务器>客户端B”,不是直接的“客户端A->客户端B”。服务器之间可以进行分布式分布,例如在城市C和城市D分别架设服务器,那么传播路径就变为“客户端A>服务器C>服务器D>客户端B”。这样的设计可以根据业务量和网络情况架设服务器。

一般在中心城市建立主服务器群组,负责登录认证、数据存储记录、文件存储、计费认证等服务,根据业务量,在不同的城市或者不同的带宽接入区域建设地区服务器,负责当地的通信和数据转发。

主服务器群组由以下功能的服务器组成:

2.1    认证、计费服务器

负责认证用户登录,记录用户的个人信息、帐户密码、交易信息,一般只建一个认证中心不作分布式设计。

2.2    数据库服务器

记录用户数据,聊天历史记录,登录记录,计费记录等数据。

2.3    文件存储服务器

存储用户上传下载的文件,作为增值业务提供。

2.4    通信服务器

负责用户的消息通信处理。

2.5    第三方IM信息转发服务器

兼容第三方IM通信的转发服务器,当用户有第三方IM通信时,由该服务器与其他IM供应商的服务器通信。

2.6    地区服务器

作为通信服务器使用,与主服务器群组通信。

3       网络构架

如果该地区网络情况单一,只有一家网络供应商提供,那么只需要在该地区的中心城市架建主服务器群组,然后根据业务量,在不同的地区增设通信服务器。

如果该地区网络情况复杂,存在多种不同的ISP接入服务,则需要在做多人使用的ISP处选择一个中心建主服务器群组,在不同的ISP接入商建通信服务器,并保证他们之间的线路畅通。

服务器的多少是和运营的负荷用户数量和网络质量网络分布情况相关。原则是保证通信畅通。

4       客户端设计

Jabber项目已经有不少成熟的客户端设计共参考,主要有这几类:

4.1    WINDOWS客户端

主要用C、VB等语言编写,windows的用户基数最大,所以一般兼容性必须在windows平台上做得最好

4.2    Java客户端

主要是服务非windows的用户,如linux、Apple、某些户外设备。

4.3    手机客户端、

根据手机平台又分为windows mobile、j2ee、linux、iphone、symbian、等

4.4    Web客户端

5       预算

名称

数量

单价

小计

硬件投入

计费服务器

1

15000

15000

数据库服务器

1

20000

20000

通信服务器

1

15000

15000

文件存储服务器

1

15000

15000

第三方IM接口服务器

1

15000

15000

地区服务器

3

15000

45000

交换机

1

10000

10000

网络投入

机架(1年)

1

24000

24000

带宽10Mpds(1年)

1

24000

24000

地区服务器接入

3

3000

9000

开发成本

服务端开发调试

1

200000

200000

客户端开发调试

1

50000

50000

总计

442000

zimbra升级日记

2009/07/16 5:58 下午  |  分类:it

用了N久的zimbra 5.0.4升级到5.0.18,当中真多曲折。

先说说升级流程

  1. /etc/init.d/zimbra stop
  2. rsync /opt/zimbra /mnt/backuppath
  3. wget -c http://where.to.download.zimbra
  4. tar xzvf zimbra.tgz
  5. ./install.sh
  6. so many enter and wait many mins
  7. done

其中最为麻烦的是跑了install.sh脚本后,会提示“ERROR: Installation can not proceeed.  Please fix your /etc/hosts file   to contain:”。搞了半天,孩子zimbra看了一堆贴关于这个hosts问题的说法,没辙了,只好发了个贴问。

以前zimbra的管理员帮助非常热心非常热气,但是现在。我觉得这版主是吃了火药还是更被绩效考核了似的,一副大便脸,回帖也凶巴巴的在质疑我没仔细阅读安装说明、mei在论坛、wiki找答案,没写清楚配置情况和安装日志报错内容。

冤啊,比邓玉娇还冤。只好有自己仔细琢磨,终于发现一个贴。原来这个zimbra的安装脚本会对hosts每行都校验,多一行不行,少一行不行。

他规定了:

  • 必须有127.0.0.1 localhost.domain localhost这行
  • 必须有ip 完整域名 机器名这行
  • 其他的必须删除(这个并没有在安装教程里面提及过

于是删除了hosts里面的其他内容,顺利的安装。还得一副感激的样子对大便脸zimbra版主say thx。

很是不爽,于是我还友善的补充了一句,希望zimbra能在安装说明里面写清楚:“hosts里面必须不能多不能少的只写两行”

恩,我的马来西亚游记很有太监掉的趋势!不少群众纷纷来电要求看续集,甚至有通过google找到我msn和我交流自助游心得的网友。

在此,小小的为本博客的seo偷笑一个,想不到wp的这种域名/年/月/标题的url,非常合google的胃口,现在在google上查询 “马来西亚游记”就能 找到这里了,还有邪恶的关键字“3飞”,也指向被博客,有兴趣的同学可以看看本站的“3飞”是什么暴力内容。

再如关键字“he110”,我只是为了好玩,把“hello world”改写成“he110”,结果google一下“he110”,本博还是蛮前列的,再偷笑一把。

游记,还是会继续写的,目前比较困惑的是我不希望在dreamhost里面做主相册,找个好相册还是非常有必要的,要能转载、稳定、不被墙。flickr大神估计我是无法膜拜了,picasa的命运也是坎坷,迷惑啊。

除了已经过去的马来西亚游记,7月5日还终于构想了几个月的imax之旅实行了。一行将近30人浩浩荡荡的到东莞看了一把imax版本的《变形金刚2》,肉眼被4层楼高的imax荧幕震撼的踏踏实实。就是变2的太少高速慢镜头,老是正常速度的近镜头看得有点头晕,等半年后看蓝光版本的再仔细回味。

我们的矮南瓜泡沫网站迎来了09年的一波新人,今天特地为他们做了一次培训,想想我当年(快2年了)入职的时候,还没有这样的待遇,祖国的未来们真幸福啊。

对了,矮南瓜泡沫的seo也如本博一样诡异,特别是在最近众多门事件发生的带动下,7月3日迎来了一次淋漓的高潮,希望日后高潮迭起~10年后再纪念,网站大事记上有这浓重的一笔——7月3日,美国独立日前一天,乃众神之门大开,矮南瓜泡沫高潮迭起的总开端。

马来西亚游记——(3)飞向吉隆坡

2009/06/03 11:30 下午  |  分类:travel

如果大家从我的开篇到现在,应该会体验到一种近乎变态的谨慎,怎么这个游记写得像本大部头似的?!我只是希望详细的记录我这个开心的旅途,并且开放观众们保守的心灵,勇敢的迈出海外自助游的第一步,我多么伟大啊!

自恋结束,开始正经的写游记吧。公元2009年5月12日,也就是汶川大地震一周年纪念日,我开始了征途。我背起从问道新买的45L大包包,我老婆背一个普通的书包,各自写了行李清单列表,对照逐样收拾好,护照大部分钱我贴身腰包收好,从家里出发。稍微特别的行李是一堆电子产品,我们这次带去的有一台mp3、一台mp4,都是供老婆娱乐消磨时间之用;还有一台黑莓,我老婆还要每天check邮件,顺带可以上上网、msn;我带了手机充当GPS地图、wifi上网、电子书、第三台相机;另外一台casio卡片相机、一台佳能A230(本来计划潜水用,但后来……)。还有以上设备的充电器一堆,好在有4台都用miniUSB标准口,在此我赞扬一下祖国统一手机充电器接口工程的伟大。

一堆电子设备

步行前往原来的以太广场机场大巴站,才发现那个站搬去锦汉了!TMD,我收录了去马来西亚的大量情报,居然在此次旅途的第一步就扑街了,好在不是很惨,就是背着包多走了500米,应该是整个旅程中我背包走最长的一段路,还错过了一趟车,本来可以早30分钟到机场的。

到了机场,非常容易就找到了亚航的柜台,已经是长长的队伍了。大部分看样子像华侨、马来人,像我和老婆这样自助游的人并没见到,很简单的区别就是其他人多是拉包箱,我们俩是背包客。

差不多7点的时候,我们拿到了登机牌,其实事前我已经尝试过在亚航的网站上直接打印登机牌,结果浏览器出错,我的登机牌没打印出来,我老婆打印了,而且只许打印一次,我想再打印也不行了,系统报错,吓得我立马打了个电话去亚航中国客服,确定可以到机场再打印登机牌我才放心。不过事后想来,如果我真用A4纸打印登机牌(非常简陋),中国海关的关员们会不会不放行呢?亚航为了节约成本真是什么都能省一笔,就如这登机牌,也是非常抠门,没磁条,没条码,不是纸皮只是普通纸票一张,不过也比后面的3趟热敏纸登机牌要像样,不知道是不是为了应付中国海关?

这里还有个小插曲,排队轮到我的时候,我很自作聪明的亮出手机,打开电子机票的PDF文件,show给亚航的柜台小姐,对方很茫然的似乎搞不清楚上面的条码和订购码,让我出示电子机票打印单,我只好灰溜溜的把A4纸递给她,好无趣啊,浪费我那么帅的手机和动作表情。

拿到登机牌后剩下一个小时过海关,还有就是吃饭问题要解决。廉价的亚航机票是不包机上餐饮和托运行李,每个人7公斤随身行李。我的包是超标了,要和老婆的包一起称才勉强过关,柜台小姐还好心提醒我要把行李分开,我的包高度不能超过70cm(后来都没人查)。我和老婆推着行李车直奔机场麦当劳,我老婆还厉害,居然没忘了带优惠券,只是机场不是所有优惠都能用,包括没有开心乐园餐提供。我们俩匆匆的在M记补充了水分和蛋白质后,奔向了海关。

海关那儿真是鬼比人多,一眼望去都是黑鬼(后来在候机楼看到大部分都是非洲、西亚的航班),特别在过X光机的时候,看到一个黑鬼似乎带违禁品了,一包白色的塑料袋,也不知道是什么,那个黑鬼一个劲的打手势说ok、ok,那个关员就一个劲的拽紧塑料袋say no、no。我样帅人品好,顺利过安检;我老婆携带的防晒油和沐浴露超过100ml被扣,时间紧来不及办托运就放弃了。事实证明广州的海关还是很严谨的,标称200ml的就算你用剩不到一半也不许你过,100ml一瓶的随便你带多少,恩,其实当有自我牺牲精神的恐怖分子还是可以顺利的携带爆炸物的,就是瓶子要多带一些罢了。

过关后还有15分钟,就是登机时间,我就非常着急的疾走去登机口,我老婆可能被海关折腾完心里不爽吧,好生没气也没跟着我,老远就说我,你急啥(事实证明了我瞎着急,我老婆预料到接下来亚航的误点)。5块钱买了一瓶平时只要顶多2块钱的水上飞机,否则就要喝机上的水,其实也不算贵,我是能省就省。

晚上8点,飞机还没到,传说中的亚航误点中了!百无聊赖的在候机楼逛了几圈,周围都没什么好看的飞机和有趣的事情,于是坐下来翻开了LP来看,于是又有了一段插曲。

我3月份买了一本《马来西亚新加坡和文莱(Lonely Planet旅行指南系列) 》,在卓越买的,这东西是网上能买到为数不多的马来旅游书籍之一,我买他前还专门去广州图书馆看了一趟没发现有书可借才买的。LP可说是自助游的经典系列书,不同目的地不同语言的都有,看起来还算内容丰富,就是翻译比较差强人意。里面的翻译可能是有大陆人和台湾、香港人参与,结果翻译出来的地名音译会不同于大陆习惯和大部分国内自助游论坛地名用语习惯,以至读起来要对照着小心看。除了翻译问题其他还好吧,尚算详细,内容其实是偏休闲度假游级别的,而不是我们经常计划的穷游级别。另外出外旅游是要非常注意资讯的更新,很多书里面提到的东西到了当地也许已经没了。可能日后旅游书籍都要电子化、网络化才行。

话说我端起LP开始看了几分钟,旁边一小伙子就搭讪了(丫的,怎么不是mm来搭讪),因为他看到了我的书,张口就一句:“你们也是去马来西亚玩啊?我也买了这书。”于是话题投契了,一聊之下才知道他是两个人,和老婆去东马渡蜜月的,互相交流了一下心得(其实都是纸上谈兵的赵括两名)。聊了一会儿,见飞机还没到,我又闲不住,丢下书又开始到处闲逛。

终于等了差不多90分钟,飞机到了,一大群人排队上飞机,我是那种不紧不慢上公交车的人,横竖上飞机你还不是要等最后那人齐了,于是我等到最后才去登机。

但是没想到,廉价航班大家的随身行李都非常多啊,行李架都塞得满满的,老婆说看你下次还敢不敢那么“他条(广州话休闲不紧张的意思)”,该急的时候不急(没排队登机),不该急的时候急(过海关后急奔登机口),老婆她好厉害,准确的预测了我这天的行为和周遭的环境。

终于把行李塞到一个不大的空位,穿上风衣(原因机上的空调开得很冷,不断的冒白烟),A320在跑道上加速,飞上黑天(已是深夜)。

4小时后,降落吉隆坡廉价机场LCCT。

马来西亚之旅——(2)准备表

2009/06/01 12:43 上午  |  分类:travel

要知道,虽然是勇敢的迈出了自助游的第一步(订了的亚航机票是没法退了的),但是心情还是七上八下的忐忑不安。我有个习惯,就是这种状态下的时候,我会停住所有事情,先列清单,就和当时结婚的时候,我也做了个表,什么时候做什么,要买什么,我都尽可能详细的记下来。这次去马来西亚,我更是把做表这个自豪的习惯更恐怖的执行着。

很多的地图。结果我把中文版本的马来西亚地图(后来发现只能用来和老婆解释城市的大致方位)、吉隆坡的轨道交通图(我后来背熟了连地图都不看了)、樽仔从马六甲新鲜拍下的汇率表(其实没参考价值,汇率天天变)、吉隆坡廉价机场LCCT的布局图(原来被人骗了,那个用excel画的图既丑又不准确)、吉隆坡国际机场和LCCT的大地图(一点也没用),都拷到手机上,结果发现用处不大,因为不知不觉中我背下了很多方位和地名。以上都打印了,随身携带。GPS帮到了不少,特别是在哥打巴鲁和瓜拉勿述之间的车程知道剩余的时间足够充裕而安心,在马六甲的游览,在吉隆坡旧火车站附近的定位,因为那边的路特别乱。我是选择了mapking的西马+新加坡地图,大致上都准确,在收集的情报中显示,R66的地图会更详细,但是由于一直没能正常的使用破解版本的R66,所以放弃了,从这次的经验来说,估计东南亚国家的旅游用mapking这种粗略级别的GPS地图就足够了,倒是国内的旅游就需要更详尽的GPS资料。

为了消磨路途上的时间,我录了几部详细的马来游记在手机上,有点像温书似的,在每次都长途移动过程中我会重新翻阅好温习一下。所有的电子机票我都分别打了两份,把文件也存在手机上以防万一。另外还有我在磨房上买的AIG保险电子——美亚“万国游踪”国际旅行保障计划(1个人125RMB),也是打印随身带,很庆幸我这次没有用到这份保险单。

此前在airasia.com上订机票的时候是2008年的3月份左右,当时亚航还是招行的平台没做好也没搞清楚,第一笔1600+RMB的广州吉隆坡来回双人机票一直都不能用招行的信用卡划扣,后来是用了招行一卡通的网上银行才能成功划扣,原因可能是招行当时不允许大额的海外信用卡网上消费吧。后来的两趟马来西亚的内陆飞机(来回哥打巴鲁吉隆坡),则是顺利的直接用信用卡划扣了,也许是因为金额不高,合共2趟飞机2个人要600RMB。万一亚航的数据库泄漏资料,我的这张招行信用卡肯定死翘翘。所有的出发前消费都是用信用卡网上划扣除了第一笔的机票费用是08年消费外,其余的保险、订房、内陆机票都是在出发前2周内订的,可说是有点匆忙,但行程最后已经确定,信心坚定不忐忑才敢瞬间在网上消费了如此大额的RMB(招行都是用美金付马来西亚币,然后自动购入RMB结算)。

在订内陆机票的时候,顺带看到亚航的附属酒店也不错,主要是在吉隆坡不知道有什么便宜又干净交通方便的地方,既然在亚航网站订了机票,心想这次要么都被亚航骗就好了,就订了亚航的tune hotel.com,这个即是域名,也是酒店名哦。但是订马六甲酒店的时候,彻底困惑了,而且时间不多,我在出发前三天下决心不去槟城后,就要住马六甲一晚。看了一下攻略baba house是个华人开的古色古香的店子,直奔其网站发现可以接受booking但上面并没有电子交易平台下订,发了邮件询问也没回应,匆忙之下我选择了travellerspoint.com上订了baba house,很快就收到travellerspoint.com成功预订的邮件,也扣了10%的手续费(3USD),但是第二天我又收到了招行发来的邮件,余款114RM被扣了,吓的我汗毛倒竖,马上打电话给招行询问出了什么问题。

招行的得知后马上建议我先冻结了我这张信用卡,并且进行查询,告诉我那3块钱订金是已经正常的结算了,114RM没有结算。后来想想,这笔可能是一个预授权的动作。但招行希望查清楚后再让我开启这张卡,而我也来不及等结果了,于是我把这张卡的信用额度调至刚好够我付给baba house的房费,另外启用了一张小卡(我是msn大卡+4小卡),不过整个旅途中我都没使用信用卡了,除了在baba house结算房费。后来也在baba证实了那是预授权金。那是因为道听途说了不少东南亚国家盗用信用卡的故事,所以都很担心在马来西亚用信用卡会发生什么。

买了所有机票和订了3天酒店后,出发前消费也差不多了,其实这里面会有一定的风险,就是万一旅途有变或者航班延误。特别是第一趟广州飞吉隆坡,不幸的延误真的来了,好在不是延误很久,我才能在飞抵LCCT后4小时,登上飞往哥打巴鲁的飞机。

以上的一切可存储的电子文档,我都放在手机里面,同时打印了一份随身带。可以说我的手机很重要,不但要用来看时间,我出发前还用日程记录了大致的时间点提早15分钟自我提醒,后来也验证了90%的提醒说很准点。另外手机还是GPS地图,更能在旅途上看小说(一本没看完的《明朝哪些事》,至到今天还没看完)看游记打发时间,备用的相机(吉隆坡水族馆拍照片太凶了,后来没电就靠手机拍录像),还做了件蠢事(登机的时候再告诉大家笑笑)。我诚意推荐大家要用台智能手机帮你打点旅途上的细节,而我这只WM手机太好电了,买的厚电也不理想,不过MSG ATOM V只要1500RMB不到,穷游推荐,富人嘛带iphone好了,别学我。

除了手机能帮的,我写了给要带去的东西列表,跑去“问道”买了个45+10升到背包,老婆背了个普通的背包,一人一包准备上路,出发前给6张USD合了个照,存在相机生怕兑换的时候被掉包了。

600USD到最后没花完

Pages: 1 2 3 4 5 6 7 8 Next