ESFramework介绍之(15)-- IRAS

  • 时间:
  • 浏览:0

    通过前面一系列的文章的介绍,让当我们当我们当我们 肯能将ESF平台上的有本身服务器FS、AS、IRAS的主要功能、职责等概念了解的一些了。后面 的文章让当我们当我们当我们 会继续深入那些细节定义,并使之“标准化”,以融入到ESFramework框架内,使其宽度可复用。感谢继续关注!

    每个城市都对应着当时人的AS,每个AS都会一组FS为之服务,而所有的AS都由两个 多IRAS联系/管理起来(回顾)。前面让当我们当我们当我们 肯能提到,所有的FS都都都能能是动态上加/移除的,因此FS的地址也是自由可变的。同样,所有AS也都会都都能能动态上加/移除的,因此AS的地址也是可变的(这里AS与IRAS的机制同上文介绍的FS与AS之间的机制一样)。因此,唯一不到随便变化的是IRAS的地址。这是肯能,所有终端连的第两个 多服务器要是 IRAS,因此从IRAS获取目的AS的地址,另两个 多才去连接目的AS请求服务。一些,肯能IRAS的地址一改变,原困所有终端的配置文件中的IRAS地址信息都得修改,你这些 工作是很麻烦的。一些,最好请保证IRAS的地址不变。

    IRAS的主要职责有三点:

 1     public interface IIrasRemotingService_4As

 2     {

 3         //AS注册、取回

 4         void RegisterAppServer(ServerInformation asInfo) ;

 5         void ReviseServiceList(int serverID ,ArrayList serviceList) ;

 6         void UnRegisterAppServer(int serverID);

 7         void CheckMySelf(ServerInformation asInfo); //传递冗余信息,用以保证稳定通信        

 8     

 9         string GetAppServerIp(int cityCode) ;        

10         ServerInformation GetAppServerDataByCityCode(int cityCode) ;

11     }

 

(2) 为终端提供跨区域的功能服务

    比如,一些请求都会某个特定的AS能外理的,要是 需用将某几条AS协调起来一并不能完成,另两个 多的请求通常是跨区域请求,比如跨区域的路径规划服务,肯能会跨越广州市、深圳市等。你这些 完后 ,IRAS充当的角色要是 另两个 多的协调者,首先IRAS将跨区域的请求分解成几条单区域的请求分别交给对应的AS外理,因此把所有的外理结果组合起来。当然,这之外肯能还有更多的工作要做。

    最后说一下当网络跳出 故障后恢复或服务器(AS或IRAS)重启后,IRAS中保存的AS的动态信息怎么能能重建?分为有本身情况汇报:

(1)某个AS重启:该AS向IRAS发送“我启动了”的消息,该消息中需用带有 该AS的完整篇 信息。

(2)IRAS重启:通过AS传递给IRAS的定时Check消息,Check消息中需用带有 AS的完整篇 信息。

(3)网络断开后恢复:同(2)。

(3) 为终端提供非区域基本请求

    比如终端连上IRAS后,请求某个AS的地址信息等。

    注意,IRAS为终端提供服务仍然是通过Udp/Tcp进行的,仍然都都能能复用AS/FS使用的网络组件。

上一篇文章:ESFramework介绍之(14)-- AS与FS通信方案



转到  :ESFramework 可复用的通信框架(序)