接上篇《分布式计算的体验1》 为了将数据传输到应用服务器上处理,必然会出现一大块数据在网络上传输的情况。在网络带宽有限制的地方,分布式的处理方案显然会受到影响。 我了解决数据压缩问题,我在网上找到了两个解决方案。一个是在Msdn library上找到的GZ
接上篇《分布式计算的体验1》
为了将数据传输到应用服务器上处理,必然会出现一大块数据在网络上传输的情况。在网络带宽有限制的地方,分布式的处理方案显然会受到影响。
我了解决数据压缩问题,我在网上找到了两个解决方案。一个是在Msdn library上找到的GZipStream,一个是开源的GZip。
GZipStream提供流压缩处理,但是它是包含在.Net 2.0框架中的,要使用2.0框架,必须使用VC++2005版本,而我现在使用的是VC++2003。而开源的Gzip是用标准的C++写的。两个方案相比之下,我当然选择了前者,毕竟都是在.Net框架上。
于是我立即到微软的网站上下载了一个VC++2005的试用版,但是当我把现在的VC++2003写的项目升级到VC++2005后,我被眼前的情况惊呆了。整个项目编译不能通过,编译时报错20多处。我立即查阅了一下2.0的SDK,发现VC++2005又增加了不少的keywords。当时我的第一感觉就是恶心!
的确,我们现在有很多功能都在依赖于框架。为了使用2.0框架中的GZipStream,我不得不接受VC++2005的新元素。但是直到现在我都还在怀疑,VC++2005现在还是C++。从VC++2003中的__gc new到VC++2005中的gcnew,我们不难看出,微软在改造C++,使之更加适应托管环境下的开发,托管环境让一头在大草原上奔驰的野马变得象一头圈养的家马。
当然这些都是我的个人拙见,毕竟我和微软的工程师相比,还差很远的距离,他们所想的岂是我能所料的。事物都在发展,我现在突然想起了网络,网络上的数据传输不就是一个socket就可以搞定吗,但是现在不是涌现出了一大堆东西吗?
其实这个道理我也董,越简单的东西越容易传播,而让一件东西越简单,这背下的功夫就越难,我想微软的工程师为了VC++2005的诞生也是煞费苦心了。从大心底,我很佩服他们,我也很尊敬他们。
但是,他们托管环境也把我们给管起来了,他们设计出来的,优秀的托管环境管住的不仅仅是内存资源,还有一个一个活生生的程序员,他们的推出的一个一个优秀的构架变成了我们的一个一个的监狱(而且还是非常坚实的监狱)。特别是当前,面向服务器的设计构架,一旦成熟,我们就成了给微软(或者是其它开发商)搞二次开发的了。
上次我在我的blog中提到了开源,在这里我也想到了开源,它是一片与这里完全不同的天空。如果我们把我们在构架上开发的情形比作我们居住的水泥城市,那么开源则是大自然中的原始森林,在那里我们可以自由的呼吸,无拘无束。但是当我想离开现在居住水泥城市去那片开源的天空时,我又开始犹豫,甚至开始畏惧了。
是的,我们可以在那里获得自由,但是那里不方便,甚至很危险,很多东西都要自己去考虑,一不小心可能就会丧命的。
那个地方现在可以是我寻求刺激的地方,但是还不能成为生活的地方。但是追求自由的心是不能阻止的,我还要继续经受考验!