分类目录归档:未分类

GZIP压缩

     
      zip压缩文件听说过,GZIP对我可是新鲜词儿,这个世界好复杂,压缩是无处不在的,哈哈。
 
      GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
       HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。
 
    吼吼,顺便把LINUX的解压缩默写一遍,省的自己下次忘记,
    tar -xvsf  xxxx.gz
    本想说这么多LINUX命令,我这脑子得背到猴年去,但是一想确实快到猴年了,心里一惊,争取猴年来临之前都背下吧,周末去大悲院拜拜神仙,哈哈。

对象的constructor属性

对象的constructor属性, 最初是用来标识对象类型的。

比如 ,我们定义一个 Person类,然后实例化两个对象。
function Person(name, age, job){
this.name = name;
this.age = age;
this.job = job;
this.sayName = function(){
alert(this.name);
};
}
var person1 = new Person(“Jam”, 25, “Software Engineer”);
var person2 = new Person(“Tom”, 27, “Doctor”);
 
这两个对象 都有 一个constructor 属性,该属性指向 Person
lert(person1.constructor == Person); //true
alert(person2.constructor == Person); //true
 

不过,提到对象类型检测,我们一般不这样做, 
因为 instanceof 操作符 更可靠一些
往往是这样用 alert(person1 instanceof Person); //true

session会话复制

     前几天请教了Yoda大神关于会话复制方面的问题,
 
     如果客户访问是两个服务器的东西,这样会有两个分别的session, 这两个session之间怎么交互,集群环境下,同构的服务器,专业术语叫做session复制,或者会话复制。
 
      session的复制是由应用服务器提供的,一般来说应用服务器都支持这个特性,比如WebLogic、WebSphere之类的
另外,通常这种Web服务器的集群,其前面会有一个接入代理,这个接入代理负责保证同一个session上来的请求分发到同一个主机,除非这个主机挂掉了。这个特性叫做session粘滞,或者叫做会话粘滞,但是也有代理的设置是均分请求的,就是无论是不是同一个客户端/会话过来的请求,都会产生摆动。简单来说,集群后面有2个服务器,那么请求12345中的135可能被分配到A,24被分派到B

这种东西,只有真正弄过大型应用的人才明白。比较大的集群是浙江移动,16个Server一个集群,共有4个集群。总共就是64个Server
而且,纯Web的集群和业务支撑的集群在设计考虑方面还是有点儿不同的。

http://www.blogjava.net/yoda/archive/2008/04/17/193891.html
这是Yoda之前翻译的一篇文档,介绍的很详细的
电商的又是另外一种方案了
电商比一般的企业内部应用的集群更复杂
但是很多原理是相通的。

淘宝或者京东这种电商的结构会更加复杂,首先web端可以大面积横向扩展,但是后台交易处理系统要保证并发不发生冲突,
比如银行这种的,基本的从前到后是这样一个顺序  防火墙->4层或者7层交换机->web静态内容集群->web动态内容(jsp,php,asp这种)集群->业务交易平台->核心数据,

每一层都可以使用集群方式。建行的核心数据都是2台大型机在运转,

建行的业务交易平台是16台机器。
 
感谢Yoda大神的耐心讲解,哈哈。