java零碎要点---大型软件部署方案,磁盘阵列,raid提升硬盘性能,解决由于集群带来的文件共享问题
a.web应用服务器部署到一台机器上(ejb的客户端)----->(远程调用业务bean)---->应用服 务器用jboss部署到一台机器上(运行了Ejb)----->数据库(由实体Bean来操作,可以是任 意的数据库,oracle,mysql..) b.web应用服务器调用应用服务器的Ejb的业务Bean,然后Ejb的实体Bean会访问数据库来,为 业务Bean提供数据,处理完后,返回给web应用服务器结果,然后,由web应用服务器将结果 显示给用户;
c.随着访问量的增大,需要web服务器的集群,也就是需要很多台的web应用服务器同时工作, 集群的意思是把集群环境中的所有机器看成一个机器,来代表集群环境,当用户请求---> 访问集群环境的时候会,首先通过一个设备,叫做负载均衡器(负责均衡器可以实用硬件或 者是软件来做,一般会用硬件来做),那么负载均衡器就会把用户的请求交给集群环境中的 某一台机\/=*/*
d.集群环境带来的问题:比如当一个用户采用一个上传文件程序,往服务器进行上传文件,那 当这个上传文件程序访问服务器的时候,会首先访问到负载均衡器,假如集群环境中有A,B C,D四台服务器,假如负载均衡器将这个上传文件程序的请求交给集群环境中的A服务器进 行处理,那么A服务器在收到这个上传的文件后,会保存的自己的也就是A服务器的硬盘上, 那么当这个用户上传完之后,想查看这个文件的时候,那么会使用这个上传文件程序再次 访问服务器,那么这次负载均衡器可能把这个请求,交给了B服务器,那么也就是说,这个上 传文件程序,不会取到刚刚上传的文件,因为刚刚上传的文件,仅仅被存在了A务器上的 硬盘里;所以就出现了这样的问题
e.解决服务器集群环境带来的问题:对于上面的问题,可以采用软件来解决,也可以使用硬件 比如用软件的话,可以使用socket来同步文件,但是软件肯定不如硬件可靠;
f.磁盘阵列:磁盘阵列是一个硬件,可以看做是一个硬盘,上面有很多插口,用来把很多硬盘 连接起来,比如按上几个口就多了几个G容量,拔掉几个口就少了几个G容量,他的性能很好 磁盘阵列中的,raid方案可以把磁盘阵列的性能提升到很高,磁盘阵列中的硬盘的作用是 不同的,一些是做服务的,一些存储的等等;
g.raid服务的举例:器的转速15000转/秒,假设在磁盘阵列中有两个硬盘,每个硬盘有两个扇 区,A1,B1,A2,B2,那么当服务器把一个文件数据存到磁盘阵列上的时候,它会根据不同的 算法,把这个文件分成不同的部分,存到不同的磁盘上,比如存在了第一个磁盘的A1区,和 第二个磁盘的A2区,那么读取这个文件数据的时候,两块磁盘会同时读取,那么就大大提高 了文件的读取速度;因为由原来的在一个磁盘读取,变成了两个磁盘连续读取;比如原来 15000转的转速,相当于提升到了30000转/秒
h.用磁盘阵列处理服务器集群环境的数据:在集群中的每个服务器,都会有一个板卡,上面有 一个插口用来连接光纤,然后通过一个像集线器的设备把每个服务器接出来的光纤集合起 来,然后这个像是集线器的设备的另一端就可以连接磁盘阵列了,然后,当服务器的操作系 统检测到这个板卡的时候,会把他识别成一个硬盘;这些板卡和这个像是集线器的设备的 作用就是把磁盘阵列挂到了每个服务器上面,那现在每台服务器都有了两个硬盘,一个是 本机的硬盘,另一个是挂载的磁盘阵列,那么这时候用本机的硬盘当做C盘来安装操作系统 ,把磁盘阵列当做D盘来存放数据,那么,这些集群环境中的服务器就相当于共享了D盘,也 就是磁盘阵列,那么现在存储的数据都会存到磁盘阵列中;
i.采用磁盘阵列来解决文件在服务器同步的问题:比如当用户上传的时候,负载均衡器将用 户的请求交给了某台服务器A,那么并且规定存到upload文件夹下,那么下次用户想查看这 个文件的时候,当用户发出请求,负载均衡器将用户请求交给了集群中的服务器B,B服务器 就会去D盘下寻找upload文件夹下的这个文件,这时候,就能找到,因为D盘,是磁盘阵列充 当的,所有集群中的服务器会共享这个磁盘阵列;这样就解决了由于集群而导致的文件在 服务器同步的问题;
j.一般的电子商务网站,都会有自己的磁盘阵列,而且服务器和磁盘阵列之间用光纤连接, 一般200多万的话,里面可以插70到80个的硬盘;因为硬盘很大,所以企业一般不会删除用 户的数据;会长久的保存;