创建博客 登录  
 关注
   显示下一条  |  关闭

周森

做好手中的每一件事&注重细节

 
 
 

日志

 
 

谈分布式网络程序设计2

2006-08-12 15:11:03|  分类: 技术 |  标签: |字号 订阅

    网络协议:网络程序一个非常基础的部分就是协议,它负责网络之间各节点的通信,什么样的分布式构架就会演化出什么样的协议,同时,从协议反向推倒,也可以看出分布式构架的大致端倪来。它和分布式构架的设计是同时进行的,而且以后的详细设计就是基于协议。当时从桂林回来的第一个星期里,俺们组p事不干,就在会议事里yy协议,反复yy n次(n>10)。考虑了各种可能性:各种类型的节点失效怎么办,在某个重要操作节点失效又怎么办,怎样保持持续的数据查询,数据恢复,同步,实现的复杂性等等。还好,在否定了中间的几个版本后,最好终于拿出了一个版本,就是现在的版本。协议一出来,系统构架就定好了。

    字符编码:java默认是用unicode的;c++的有好多种,看你怎么选了;java的节点和c++的节点的传输,比如一篇文章从java节点传到c++节点,字符编码问题就出来了。默认的做是转化为utf-8当作中间传输编码。但是俺们采用了另一种做法,原先的对linux系统和windows系统的unicode编码的误解,歪打正着,设计出了一种比较方便的做法,呵呵。

    字节序:不同的硬件字节序不一样,这个问题要好好设计,网络传输的数据,比如最好通过网络字节序进行传输,不然,有你好看。

    操作系统的cache,这个东西会导致程序的性能有时候狂好,有时候狂差,这个害苦了性能测试。当初不知道这个东西,系统的总使用内存在95%以上,还以为操作系统出来什么问题,重启。而且使得俺们认为软件的瓶颈在cpu,但是当数据量大大大于内存容量的时候,瓶颈还是在硬盘上。不过若数据量不是很大的时候,操作系统的cache使得search的性能成倍的上升,这个还是赞的。以后要大内存,最好20G,呵呵。

    今天到此为止,下次有时间讲讲分布式的调试,不过我们的方法还是很土。

   

  评论这张
转发至微博
转发至微博
0   分享到:        
阅读(1735)| 评论(7)| 引用 (0) |举报

历史上的今天

相关文章

最近读者

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--相关文章--> <#--历史上的今天--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012