彩家园彩票

  • <tr id='92VGJP'><strong id='92VGJP'></strong><small id='92VGJP'></small><button id='92VGJP'></button><li id='92VGJP'><noscript id='92VGJP'><big id='92VGJP'></big><dt id='92VGJP'></dt></noscript></li></tr><ol id='92VGJP'><option id='92VGJP'><table id='92VGJP'><blockquote id='92VGJP'><tbody id='92VGJP'></tbody></blockquote></table></option></ol><u id='92VGJP'></u><kbd id='92VGJP'><kbd id='92VGJP'></kbd></kbd>

    <code id='92VGJP'><strong id='92VGJP'></strong></code>

    <fieldset id='92VGJP'></fieldset>
          <span id='92VGJP'></span>

              <ins id='92VGJP'></ins>
              <acronym id='92VGJP'><em id='92VGJP'></em><td id='92VGJP'><div id='92VGJP'></div></td></acronym><address id='92VGJP'><big id='92VGJP'><big id='92VGJP'></big><legend id='92VGJP'></legend></big></address>

              <i id='92VGJP'><div id='92VGJP'><ins id='92VGJP'></ins></div></i>
              <i id='92VGJP'></i>
            1. <dl id='92VGJP'></dl>
              1. <blockquote id='92VGJP'><q id='92VGJP'><noscript id='92VGJP'></noscript><dt id='92VGJP'></dt></q></blockquote><noframes id='92VGJP'><i id='92VGJP'></i>

                行业动态

                了解最新公司动态及行业资讯

                当前位置:首页>新闻中心>行业动态
                全部 4017 公司动态 881 行业动态 3136

                如何构建一个的J2EE集●群应用服务器设计必须考虑的问题

                时间:2022-05-10   访问量:1699

                J2EE 平台提供了一种∩基于组件的方法来设计、开发、组装和部署企业应用程序。它还提供了多层分布式应用模型、组件重用、一致的安全模型和灵活的事务控制模型。近年来,它已在企业系统中大量使用。随着 J2EE 应用服务器的大规模部署和客户访问量的激增。企业对J2EE系统︼的可扩展性和高可用性的要求越来越高,尤其是在电子商务和金¤融领域,这个问题也越来々越突出。如何设计和构建具有可扩展性和高可用性的J2EE集群应用服务器已经成为J2EE应用服务器设计中必须考虑的问题。但是J2EE应用服务器集∑ 群是基于EJB组ζ件的集群,与常见的Web集Ψ 群技术有很大不同。实现的方法也有本质的不同。

                1 集群系统功能

                集群系统是一组松散组合的服务器,它们组成一个虚拟服务器,为客户端用户提供统一的服务。对于这个客户端,它在访问集群系统时通常不会意识到它的服务是由哪个特定的服务器提供的。集群系统一般应具备高可用性、可扩展性、负载均衡、故障恢复和可维护性等特殊属性。

                高可用是集群系统最基本的要求,是对整个系统稳定性的评价。可扩展性是指随着客户端用户数量的增加,整个系统继续保持有效∞响应时间的能力。在可扩展性系统中,随着用户数量的增加,有效响应时间变长,呈线↙性变化,这也反映了系统的峰值负载处理能力。有效预测访问的峰值负载已成为不可能。用户访问量的急剧增加使得系统的有效响应时间非线性变化,响应时间急剧增加∑,直至系统不堪重负而停机。一般的解决方案是升级系统硬件系统,或者增加服务器。但是,不合理「地增加服务器,只能让整个集群系统变得越ω来越大。系统的复杂性意味着系统的故障率会增加服务器运维技术,整个系统的可靠性和可维护性会降低。

                因此,一个系统的可用性和可扩展性是一个矛盾的关︽系,与整个集群系统的实现方式有很大关系。

                2 EJB 技术

                EJB 是J2EE 应用平台的核心。 Sun 在 EJB2.0 规范中对 EJB 的定义如下: EJB 是一种跨平台的组件架构,用于开发和部署多层、分布式、面向对象的 Java 应用系统。共有三种类型的 EJB 组件:会话 bean、实体 bean 和消息驱动 bean。会话 bean 有两种∩类型:有状态和无状态。

                it运维服务_应急指挥系统运维服务_服务器运维技术

                EJB 服务器的核心是提∞供一个或多个 EJB 容器 ( ) 供 EJB 使用。 EJB容器管理它◣所包含的EJB,为EJB组件的生存和执行提供运行环境,同时还负责EJB事务管理、安全管理、资源访问控制和一些异常处理。 EJB 容器不允许 J2EE 客户端程序直接访问容器中的 EJB 对象。当客↑户端用户想要访问 EJB 时,EJB 规范要求客◆户端使用 Java 名称和目录接口 JNDI(Java 和 )API 来定位 Bean 的主接口。访问一个 EJB 通常需ζ要以下三个步骤(见图 1)(仅下面列出的调用):

                1) 从 JNDI 中查找 bean 的主接口。首先,客户端需要获取一个JNDI初始化上下文,然后客※户端可以使用上下文方法从一个→名字映射到它的home接口;

                2)在home接口中使用()方法获取Bean的接口引用;

                3)通过接口中的方法使用Bean中定义的方法;

                一个简单的访问示例如下:

                // 获取JNDI初始化上下文

                = 新 ( );

                it运维服务_应急指挥系统运维服务_服务器运维技术

                // 查找 MyEJB 并获取对 Home 对象的引用

                = .("MyEJB");

                // Home 对象被建模为 RMI-IIOP 对象

                家=

                ()(, .Class);

                //创建EJB对象,返回接口

                myref = home.();

                //通过接口调用EJB中实现的方法

                .out.(myref.());

                3 EJB 服务器集群

                EJB服务器集群是一种↙基于组件的集群方式,与普通的Web集群技术有很大不同。实现的方法也不同。另外,由于EJB规范没有提供任何支持集群的标准,即使有些厂商在EJB服务器中提供集群特性,如何实现集群⌒也是厂商自己决定的。实施的方法△也各不相同。目前大」部分J2EE应用服务器都提供集群功能,如Bea应用服务器、开源JBoss应用服务器、公司提供的J2EE应用服务器等。在EJB服务㊣ 器集群的设计中,负载均衡(Load)、EJB集群和集群技术是设计中涉及的主要技术。 EJB集群的实现是整个系统实现的核心。

                3.1 负载均衡(Load)

                Load的主要目的是将访问系统的负载分散ζ 到不同的机器上,从而提高整个系统的吞吐↓量和并发性。它允许多台服务器共享一些繁重的计算或I/O任务,从而消除网络瓶颈,提高ω网络的灵活性和可靠性。常用方法如下:

                l 轮询 DNS

                DNS负载均衡是一种简单有效的方法,使用简单的域名◇查询IP地址来实现简单的负载均衡。给定任何地址∴,DNS 服务器都有一个与之①对应的 IP 地址池。每次请求将域名转换为 IP 地址时,都会循环回到 IP 地址池中的下一个地址。因此,它被称为 DNS 循环。当进行访【问时,请求 JNDI 的客户端☉会被传递一个 DNS 名称作为命名服务器的 URL。每个 DNS 名称都被转换为不同的地址。使用这种技术,每个客户端请求都被直接发送到不同的地址。在服务器上。负载均衡的一个主要缺点是一旦服务器出※现故障,即使及时修改了DNS设置,仍然需要∴等待足够长的时间(因为DNS需要一定的刷新时间)才能生效。在此期间,部分客户端用户访问仍会在故障服▅务器上发送。

                l 软件代理

                软件代理维▆护与一系列服务器的开放连接。访问服务器时〖,首先要经过软件代理,软件代理可■以通过一些负载均衡算法(如DNS Round-robin、随机方法、访问卐均衡算法)重定向用户对服务器的访问。这种软件代理方式可以及时发现服务器崩溃或无响应①,有效避免DNS轮询方式中的错误访问①。

                l 硬件均衡器∑ 

                这种硬件均衡器一般采用地址转换技术,将一个外部IP地址映射为多个内部IP地址,并为每个TCP连接请求动态使用其中一个内部地址,以达到负载均衡的目的。一般可以用☆第四层(或以上)的开关来实现。该交换机是根据IP地址和TCP端口交换虚▼拟连接,直接将数据包发送到目的计算机的相应端口。通过交换机,可以将来自外部的初始连接请求关联到多个内部地址,从而建立虚〖拟连接,实现负载均衡。这种第四层交换是基于硬件芯片的,所以网络︾传输速度和交换速度都远超普通的软件代理方式。比如使用Cisco CSS 11150(一个L4)可以实︾现硬件均衡。

                3.2 EJB 集群技术

                要访问 EJB 容器中的 EJB,客户端必须首先访问 JNDI 命名服务器 [参见第 2 节 EJB 技术]。因此,J2EE的EJB服务器】实现集群()的核心也是围绕着JNDI展开的。根据系统中JNDI命名树的管理和组织方式不同,一般的EJB集群可以分为以下三种:

                应急指挥系统运维服务_it运维服务_服务器运维技术

                1)JNDI 树代理(代理)

                每个 J2EE 中

                维护自己的本地私有JNDI树,里面的每台服务器都不知道其他服务器的状态和存◤在,只有Proxy服务知道里面每台服务器的状态,可以访问里面的任意█一台JNDI树上的服务【器,这就要求每台服务器在启动和启动后都与Proxy服务保持联系,以便Proxy知道自己的工作和所有的EJB对象。要访问 EJB 对象,您必须首先访问 JNDI 代理。通过 Proxy,您可以重定向对所有 EJB 对象々的访问(参见图 2))。这种方法的优点是实现简单,只需要设◤计一个JNDI Proxy代理即可。对于每个应用服务器没有复杂的要求;系统具有良好的可扩展性。要升级系统,您可以简单地添加服务器。但是这种方式有一个致命的缺点,就是如果Proxy服务出▆现故障,整个系统将无法正常工作。可靠性差。

                2) 集中式 JNDI 树

                当使用集中■式集群时,整个集群系统中只有一个主命名服务器,负责管理和维护集群中全局的集中式JNDI树。集群中的所有 EJB 服务器启动后,都必须将对象绑定到这个名称服务器,每个 EJB 服务器ㄨ不需要维护自己的私有 JNDI 树,由这个主名称服务器维护。如果要将 EJB 部署在集群中的多个服务器上,那么每个服务器都可以将同一个主对象绑定到名称服务器。当□ 客户端向名称服务器请求访问该 EJB 的 home 对象时,所有 home 对象都可以将对象引用返回给客户端,也可以根据平衡算法返回一个服务器的 home 对象引用(见图 3))。为了△提高整个系统的可靠性,这种集中式的方式必须考虑名称服务器的备份问题服务器运维技术,通常♀在同时使用多个名称服务器的大型系统中,可以在名称服务器之◎间使用JNDI树复制的方式,或者EJB 服务器可用于绑定多个服务器。比如公司的EJB应用服务器就是采用这种方式。 CORBA Cos 集中管理所有应用服务器的 JNDI 树。使用这种集中式设计模式,系统设计简『单,但同时也带来⊙了集中式系统的固有缺陷。首先,在系统设计时,要考虑命名服务器的备份问题,而随着集群系统越来越大,整个系统中命名服务器的瓶颈问题也越来越突出。

                3) 分布式 JNDI 树

                在这个模型中,每一个应用服务器都有自己的名字服务器,名字服务器不仅维护一个私有的本地JNDI树,还维护一个全局共享的JNDI树。本地 JNDI 树仅绑定部署在本地应用程序服务器█中的对象,而全局 JNDI 树保存其他应用程序服务器上本地 JNDI 树的副本。这样,任何名称服务器都可以通过其本地私有和♀全局共享的 JNDI 树来访问,从而在整个系统中定位和部署 EJB 对象。一般采用多播的形式。其中一台应用服务器启动后,加入这个组播组,然后利用IP组播技术,将自己本地的JNDI树复制到全局∴共享JNDI树中的其他服务器上,这样其他服务器就可以拥有该JNDI树的副本它。同时,应用服务器必须在其他服务器之间保持(心跳)检测,以便随时检测其他服务←器的活动状态。如果一个服务器异常崩溃,这个应用服务器会从它的全局共享JNDI树中删除这个异常服务器的JNDI副本,其他活动服务器也必须做类似的操作。这种分布式模型系统最大的优点是具有很强的可扩展性。如果再向系统添加一台服务器,则其他服务器无法进№行任何更改。而且整个系统采用分布式系统,增强了可用性,系统中任何一个服务器的故障都不会影响整个系统的正常工作。这种方法也@ 是目前使用最多的设计方法。 BEA的应用服务器☆和JBoss应用服务器采用这种设计方式。

                上一篇:有点用的:中国排名前100的IT公司排序(组图)

                下一篇:深圳市有哪些较为专业的IT运维外包协议?

                发表评论:

                评论记录:

                未查询◆到任何数据!

                在线咨询

                点击这◎里给我发消息 售前咨询〓专员

                点击这里给我发消息 售后服务专员

                在线咨询

                免费通话

                24小时免费咨询

                请输入您的联系电话,座机】请加区号

                免费通话

                微信扫〓一扫

                微信联系
                返回顶部