|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。前文汇总和PDF下载:揭开J2EE集群的奥秘面纱
5JNDI集群完成
J2EE标准请求一切的J2EE容器必需供应JNDI标准的完成。JNDI在J2EE使用程序中的次要脚色是用来供应一个直接层,如许资本能够很简单被找到,而不必体贴细节。这使得J2EE组件加倍可复用。
拥用全特征的集群的JNDI关于J2EE集群长短常主要的。一切的EJB挪用都入手下手于在JNDI树上查找它的Home接口,J2EE供给商依据他们的集群布局接纳分歧的体例完成JNDI集群。
5.1共享全局JNDI树
WebLogic和Jboss都有一个全局的,共享的,集群局限的JNDIContext供客户端查找和绑定对象,绑定的全局JNDIContext中对象将经由过程IP播送的体例在集群中复制,如许当一台服务器实例停机后,被绑定的对象仍旧可供查找。
如4所示,共享的全局JNDI树实践包含了一切当地JNDI结点上绑定的对象。集群上每一个结点都具有本人的称号服务器,它们与集群中其他服务器互相复制一切的工具。如许每一个称号服务器上都具有其他称号服务器对象树的拷贝。这类冗余布局使得全局JNDI树高可用。
实践上,集群的JNDI树能够被用做两个目标。能够被办理员用来部署对象和服务。在一台服务中部署完EJB模块或JDBC&JMS服务后,JNDI树上的一切对象都将复制到其他服务器实例中。在运转期,程序能够JNDIAPI会见JNDI树存储大概猎取对象,这些对象也将被全局复制。
5.2自力JNDI
Jboss和WebLogic都接纳了共享全局JNDI树的体例,SunJES和IBMWebSphere等接纳了每一个服务器都具有自力的JNDI树的体例。在利用自力JNDI树的集群中,成员服务器不用晓得或体贴集群中其他服务器。这是不是意味着不想把JNDI集群呢?一切EJB会见都入手下手于在JNDI树上查找它们的Home接口,假如没有可集群的JNDI树,集群就基本无用。
实践上,假如J2EE使用程序是类似的,自力的JNDI树仍旧能够取得高可用性。当集群中一切实例都有不异的设置和都部署不异的使用程序集,我们说集群是“类似的”,这类情形下,一种被称为代办署理的特别办理工具能够匡助我们猎取高可用性,如5所示:
不论是SunJES仍是WebSphere都在集群的实例上安装了却点代办署理,当部署EJB模块或绑定其他JNDI服务,办理把持员能够向一切的代办署理收回命令,以此完成与共享全局JNDI不异的效果。
可是自力JNDI的计划不克不及撑持复制在运转期绑定或猎取的对象。有以下几个缘故原由:JNDI在J2EE使用程序中的次要脚色是用来供应办理内部资本的直接层,并非用来做数据存储。假如有如许的需求,能够接纳具有HA(高可用性)特征的自力的LDAP服务器或数据库。Sun和IBM本人都有如许具有集群特征的自力的LDAP服务器产物。
5.3中央JNDI
多数J2EE产物利用了中央JNDI计划,这类计划中称号服务器驻留在单一服务器中,一切的服务器实例都注册它们不异的EJB组件和办理对象到单一的服务器中。
称号服务器完成了高可用性,这对客户端是通明的。一切的客户端都在这台服务器中查找EJB组件,可是这类布局意味着庞大的安装和办理,渐渐被多半供给商丢弃。
5.4初始化会见JNDI服务器
固然客户端要会见JNDI服务器的时分,它们必要晓得远程JNDI服务器的主机名/IP地点和端口,在全局或是自力JNDI树的计划中,有多个JNDI服务器。客户端第一次会见时应当毗连哪一个呢?怎样取得负载平衡和生效转移呢?
从手艺上说,一个软件或硬件负载平衡器能够设在远程客户端和一切的JNDI服务器之间实行负载均和生效转移。可是,很少有供给商完成这类体例,这里有些复杂的计划:
- SunJES和Jboss完成JNDI集群是在“java.naming.provider.url”属性中设置一列用逗号分开的URL,如java.naming.provider.url=server1:1100,server2:1100:server3.1100:server4.1100客户端将挨个接洽列表中的服务器,一旦个中一个呼应了便中断。
- Jboss同时也完成了主动发明的特征,当设置属性串“java.naming.provider.url”为空时,客户端将试图经由过程收集播送来发明在一个JNDI服务器。
来自:http://blog.csdn.net/esoftwind/archive/2006/10/20/1342354.aspx译者:ESoftWind
多谢指点,其实我对.net网页编程和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。 |
|