基于WEB处事器导致动静中心各组件之间无法正常事情的问题阐明与办理
当前位置:以往代写 > JAVA 教程 >基于WEB处事器导致动静中心各组件之间无法正常事情的问题阐明与办理
2019-06-14

基于WEB处事器导致动静中心各组件之间无法正常事情的问题阐明与办理

基于WEB处事器导致动静中心各组件之间无法正常事情的问题阐明与办理

副标题#e#

动静中心产物简介产物简介

在XXX产物框架中,我们按照产物成长筹划和业务规模需要,利用基于JMS技 术,通过应用WEBService,开拓了动静中心中间件(简称MC)。通过动静中间件 ,我们可以实现各系统间的异步数据互换和事务处理惩罚、执行不需前台利用人员干 预的如靠山业务和数据同步事情,也可用来处理惩罚一些受到安详和其它一些因素制 约,导致无法直接通过数据库或应用系统举办处理惩罚的受限业务。

动静中心中间件,包罗动静总线和动静客户端两部门:动静客户端认真业务 类动静实例的发生、发送动静实例到动静总线、吸收从动静总线转发而来的动静 实例、将收到的动静实例交由其载体应用系统举办与之对应的业务处理惩罚等勾当; 动静总线认真吸收从动静客户端发生并发送而来的动静实例、动静重建、按照消 息设置进动作静实例重建,将重建后的动静实例转发至对应的动静客户端等勾当 。

基于WEB办事器导致消息中心各组件之间无法正常工作的问题阐发与治理

动静客户端与XXX各应用系统集成在一起,并通过应用系统开放WEBService端 口进动作静的发送和吸收等,从而制止单独陈设和宣布所带来的坚苦和特别资源 耗损。动静总线可单独陈设,也可和动静客户端一样,与XXX应用系统集成陈设 ,在XXX产物框架下,有且只需要一套动静总线即可满意需要。动静设置中心, 其浸染包罗设置和打点动静中心各构成部门的陈设方法和会见信息,以此将动静 中心各部有机的接洽起来;同时,各动静业务应用,也利用设置文件举办设置化 打点,并与动静中心各构成部门举办关联设置,从而形成一个统一且开放的整体 ;其它的如机能优化处理惩罚、日志记录等也在设置中心举办设置和打点。

基于WEB办事器导致消息中心各组件之间无法正常工作的问题阐发与治理

应用近况

在动静中间件V1.0版本开拓完成后,我们即将其投入 实用。在XXX各分子系统这近一年时间的运行和利用进程中,动静中心很好的完 成了预定任务,其靠得住性、可扩展性和合用性获得很好的验证。以此为据,通过 利用动静中心,开拓出基于动静中心的客户化应用和业务勾当也在一连的增加中 ,到此刻为止,已经有包罗网络检测、信息同步、设置更新、电子目次树更新、 权限同步等诸多应用是基于动静中心应用开拓,并很好的利用在XXX各分子系统 的测试和内网正式情况中。


#p#副标题#e#

问题呈现、描写、阐明与处理惩罚记录问题呈现

在XXX系统正式接入外网后,通过对业务举办跟踪,发明外网用户(系统 )所发生的动静实例无法正常的达到指定的动静总线及动静客户端。最主要的体 现是权限同步动静应用无法正常完成的问题,导致外网用户权限未获得实时更新 。对此进程中动静中心所涉及部门举办阐明发明:所有的权限同步动静实例在产 生后,不能正常的将此动静实例发送至动静总线,阐明失败原因,只有一种,那 就是”connect time out”。以后信息可看出,应该是外网系统所发 出的动静无法通过WEBService送达指定的动静总线吸收端所至。但从内网发出的 同一类动静,其发送和吸收却又都是正常的。

阐明进程记录

1、 先阐明我们系统的整体陈设方法,如下图所示:

基于WEB办事器导致消息中心各组件之间无法正常工作的问题阐发与治理

按照外网用户可正常登录和会见系统,并可通过系统精确实时的发出执行指 令操纵,完成其所需的业务勾当来看,网络方面和系统和硬件方面都不存在问题 。

2、在外网情况下,直接举办各动静客户端和动静总线的处事的检测,所发请 求都可以或许正确的达到指定方针,WEBService的响应也正常且正确,也就是说,各 应用系统加载的动静处事运行也正常。

3、按照本次检测需要,另行开动员静中心专用检测东西,为本次和此后的行 的动静中心检测和问题阐明,作好更充实的筹备。

4、通过检测东西,发明,外网情况下,动静客户端和动静总线之间不可以或许联 通,从而找到问题所出:即不知是何原因,导致外网动静与外网的动静总线间联 络不通!

5、对外网用户动静发生和发送的进程和逻辑实现举办阐明:我们发明,为了 满意应用系统外网会见的需要,我们对动静系统设置信息中处事地点的 ServerName举办了伪处理惩罚,即在运行时,按照用户欣赏器的请求头来判定用户使 用的是哪一个WEB处事器地点,并将此地点动态的取代动静设置中的各 ServerName信息,从而担保各利用用户只可以或许会见其指定的WEB处事器,从而避 免因WEB处事器的不匹配而影响其会见速度、处理惩罚效率等妨碍的产生。此方法已 在我部分多套同时处事于表里网络的系统中获得靠得住的验证。

#p#分页标题#e#

那么,会不会因为ServerName在动态表明进程中,因多并发环境下,因后访 问者将前会见者的ServerName改写而导致错误的表明,即将差异网络用户的动静 地点举办张冠李戴而导致动静无法正常发送呢?

阐明动静中心各部门WEBService生成和利用机制:因系统的并发性要求较高 ,在岑岭期其在线用户可达3000人,并发用户在300以上,且系统不变性要求极 高。为提高系统的机能和不变性,在系统启动时即将动静中心各部的WEBService 毗连举办建设缓和存,以晋升动静中心资源操作率,并晋升其会识趣能。

当存在多网络用户会见时,大概因动静中心存贮的WEBService毗连并不是其 用户所利用的谁人网络的WEBService处事地点,此时,动静必定是无法送达至此 用户所需要的方针的。因此,报”connect time out”错误就成一定的了。

既然已找到问题的大概原因,我们当即举办着手阐明息争决:按照陈设要求 ,我们对对动静处事毗连处事举办了进级,即将处事请求举办分类处理惩罚和实现, 并在动静设置中对所利用的陈设方法、署理实现后,交由测试人员举办陈设和测 试。

测试功效:令人失望的是,此问题依然存在!在通过外网WEB处事器会见的系 统,其动静照旧无法发送至动静总线。由此得知,此种阐明偏向是错误的!

至此,仿佛已经走入了死区,能想到的方法都已经想到了,但问题到底出在哪 呢?

#p#副标题#e#

问题办理

在一次与同事谈天的进程中,突然想到一个问题,那就是:我们的动静的产 生和应用都是由应用系统和与之集成在一起的动静客户端自动发生和处理惩罚的,此 进程中完全不受人工过问和影响。而应用系统是陈设在应用处事器中,WEB处事 器仅是用来处理惩罚用户的HTTP请求à将此请求转发至对应的应用处事器后à将应用服 务器的响应返回给用户。

在此进程中WEB处事器并未对用户业的http请求举办过任何业务上的处理惩罚!那 么,问题会不会出在WEB处事器端呢?查抄一下动静中心的设置不管是利用 ServerName照旧写死IP和域名,我们的动静中心设置的地点都是指向WEB处事器 。而在应用系统发明动静时,其地址位置是应用处事器。而应用处事器是无法直 接会见陈设于外网IP中的WEB处事器的,虽然,动静无法发送至方针就成为一定 了。

基于WEB办事器导致消息中心各组件之间无法正常工作的问题阐发与治理

既然已经找到问题,那就动手,将动静中心的设置信息指向应用处事器后, 重启应用系统后测试,问题公然办理!

通过应用处事器举办靠山自动处理惩罚的,举办HTTP或WEBService勾当,其方针 必须是它可以或许会见的有效地点!这个问题在以前也曾经遇到过,只是由于时隔断 得太久,且这些场景应用呈现太少,而导致再次产生。

增补与心得

1、基于应用系统或靠山自动触发的一些业务逻辑,如个中存在着系统间彼此 会见或长途挪用等,必须以应用系统自身为根,举办毗连测试;通过外层包装或 其它署理,举办会见时,必须先剥离过外层包装或其它署理后,再举办毗连测试 ,并以测试功效,作为决定的依据!此举合用于种种系统的架构设计和逻辑实现 进程中。

2、基于中间件产物应用,实时开拓与之配套的检测和利用东西,是一件必不 可少的事情,此举将为后期的实施和问题阐明节减大量的事情量。

    关键字:

在线提交作业