分布式
各个层次都可能有分布式,比如数据库层,整个应用的数据可能一部分分布在oracle数据库中,另一部分分布在mysql面都有可能。
在应用层次上的分布式:
整个应用的各个业务逻辑可能分布在不同的应用服务器里面,比如应用有权限管理、公文管理,每一个部分可能分布在不同的应用服务器上,不同的应用服务器一般都分布在不同的机器上面,在这台机器里调用另一台机器应用里的某个方法必须得发出socket连接(如果我们某种分布式技术,那么底层的socket连接通信已经由他们替我们实现好了),这种调用必须由容器来处理,底层数据的传输、建立连接等等都有容器来实现。
目前的分布式技术有:
1、RMI 远程方法调用(Remote Method Invocation)
2、CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)异构平台的分布式
3、Web Service(异构平台的分布式)
注:异构平台互相调用 还有Java Native Interface (JNI)它允许Java代码和其他语言写的代码进行交互。
4、JMS
5、EJB(能实现分布式的事务管理,java分布式最佳解决方案)
集群
多个完备的系统组成集群,内容,工作过程完全一样,互相之间各不影响。集群分为同构与异构两种,它们的区别在于:组成集群系统的计算机之间的体系结构是否相同。集群计算机按功能和结构可以分成以下几类:
高可用性集群 High-availability (HA) clusters
负载均衡集群 Load balancing clusters
高性能计算集群 High-performance (HPC) clusters
网格计算 Grid computing
负载均衡集群
负载均衡集群运行时一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。这样的计算机集群有时也被称为服务器群(Server Farm)。
分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方。
而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。
而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。