调用服务器的方法和代理服务器技术

技术编号:20855517 阅读:33 留言:0更新日期:2019-04-13 10:52
本申请提供了一种调用服务器的方法和代理服务器。该方法用于第一服务器集群中的至少一个第一服务器调用第二服务器集群中的至少一个第二服务器,第一服务器集群中还包括第一服务器注册中心和代理服务器,第二服务器集群中还包括第二服务器注册中心,该方法包括:代理服务器根据配置信息向第二服务器注册中心发送第一订阅消息订阅被调用的至少一个第二服务器的信息;代理服务器接收第二服务器注册中心发送的被调用的至少一个第二服务器的信息并将被调用的至少一个第二服务器的信息注册到第一服务器注册中心中,用于所述至少一个第一服务器调用所述至少一个第二服务器。本申请提供的技术方案能够提高跨服务器集群的调用服务器的性能。

【技术实现步骤摘要】
调用服务器的方法和代理服务器
本申请涉及通信领域,并且更具体地,涉及一种调用服务器的方法和代理服务器。
技术介绍
随着服务的发展,越来越多的中国公司开始实施出海战略,将服务部署到海外等不同区域(Region)的服务器中,为当地民众提供服务。但是,由于服务运营、个人隐私数据保护或当地法律法规等原因,一些服务只能部署在特定的Region的服务器中,导致其它Region中部署的服务器调用者需要跨Region调用某些Region中的服务器提供者所提供的服务器。由于不同Region中的服务器隶属于不同的服务器集群,而针对服务器集群来说每个服务器集群中的服务器注册中心是独立部署的,不同的服务器集群之间需要通过在服务器提供者所属的服务器集群中,部署的服务器负载均衡(serverloadbalancing,SLB)才能实现跨服务器集群的服务器调用,因此调用服务器过程需要经由SLB路由和转发实现,导致跨服务器集群调用服务器性能差。因此,如何提高跨服务器集群的调用服务器的性能,成为亟待解决的问题。
技术实现思路
本申请提供一种调用服务器的方法和代理服务器,通过在服务器集群中部署能够跨服务器集群订阅服务器的信息代理服务器,从而提高跨服务器集群调用服务器的性能。第一方面,提供了一种调用服务器的方法,用于第一服务器集群中的至少一个第一服务器调用第二服务器集群中的至少一个第二服务器,第一服务器集群中还包括第一服务器注册中心和代理服务器,第二服务器集群中还包括第二服务器注册中心,该方法包括:代理服务器根据配置信息向第二服务器注册中心发送第一订阅消息,第一订阅消息用于订阅被调用的至少一个第二服务器的信息;代理服务器接收第二服务器注册中心发送的响应消息,响应消息中携带被调用的至少一个第二服务器的信息;代理服务器将被调用的至少一个第二服务器的信息注册到第一服务器注册中心中,用于所述至少一个第一服务器调用所述至少一个第二服务器。应理解,上述的“第一”、“第二”只是为了区分不同的服务器或是不同的服务器集群,不对本申请构成任何限定。其中,第一服务器为第一服务器集群中的需要调用第二服务器集群中的第二服务器的服务器,因此,第一服务器也可以称之为服务器调用者,第二服务器也可以称之为服务器提供者。另外,本申请并不限定第一服务器集群中的第一服务器只能作为服务器调用者,在其他情况下第一服务器可以作为服务器提供者被其他的服务器调用。本申请实施例提供的调用服务器的方法,通过在第一服务器集群中部署代理服务器,该代理服务器能够根据配置信息从其他服务器集群订阅第一服务器集群中的服务器调用者需要调用的服务器的信息,并将订阅的服务器的信息注册到第一服务器集群中的第一服务器注册中心中。即,第一服务器集群中的服务器调用者能够直接从第一服务器注册中心中订阅其他服务器集群中的服务器提供者提供的服务器。提高了跨服务器集群的调用服务器的性能。应理解,本申请中的代理服务器可以从多个第一服务器集群之外的服务器集群中订阅服务器的信息。优选地,上述的第一服务器集群和第二服务器集群之间无交集。即,第一服务器集群中包括的服务器与第二服务器集群中包括的服务器不同。结合第一方面,在第一方面的某些实现方式中,配置信息为预先配置在代理服务器中的配置信息。本申请实施例提供的调用服务器的方法,代理服务器获知上述配置信息的方式可以是在第一服务器集群中部署代理服务器的时候,开发者将配置信息写入代理服务器中。作为代理服务器的预设配置信息,则,代理服务器在运行时能够获知配置信息。结合第一方面,在第一方面的某些实现方式中,该方法还包括:代理服务器接收第一服务器注册中心发送的触发消息,触发消息中携带配置信息,触发消息由所述第一服务器注册中心接收到所述至少一个第一服务器分别发送的第二订阅消息而响应生成,触发消息用于触发代理服务器获取至少一个服务器的信息。本申请实施例提供的调用服务器的方法,代理服务器获知上述配置信息的方式可以是第一服务器集群中的需要跨服务器集群调用服务器的服务器调用者,将需要调用的服务器所属的服务器集群标识、服务器集群中的服务器注册中心地址以及服务器所属的应用的名称和该服务器的名称通过第二订阅消息注册到第一服务器注册中心,第一服务器注册中心根据接收到的多个第二订阅消息确定配置信息,再将该配置信息发送给代理服务器,使得代理服务器能够获知配置信息。结合第一方面,在第一方面的某些实现方式中,方法还包括:代理服务器接收至少一个第一服务器分别发送的至少一个第一指示信息;代理服务器根据至少一个第一指示信息确定配置信息,第一指示信息用于指示代理服务器获取被调用的至少一个第二服务器的信息。本申请实施例提供的服务器调用的方法,代理服务器获知上述配置信息的方式可以是第一服务器集群中的需要跨服务器集群调用服务器的服务器调用者将需要调用的服务器所属的服务器集群标识、服务器集群中的服务器注册中心地址以及服务器所属的应用的名称和服务器的名称作为配置信息注册到代理服务器,使得代理服务器能够获知配置信息。本申请实施例中提供了代理服务器能够获知配置信息的多种方式,增加跨服务器集群调用服务器的方案的灵活性。结合第一方面,在第一方面的某些实现方式中,至少一个第二服务器的信息用于第一服务器根据预设路由规则调用第二服务器。本申请实施例提供的调用服务器的方法,当某个服务器调用者能够调用的服务器部署在多个第二服务器集群以及在某个第二服务器集群中包括多个能够调用的服务器时,服务器调用者能够基于预设路由规则选择某个服务器集群中的某个服务器进行服务器调用。结合第一方面,在第一方面的某些实现方式中,预设路由规则包括:一级路由规则,用于将第一服务器的调用服务器信息路由到第二服务器集群,以及二级路由规则,用于在第一服务器的调用服务器信息路由到第二服务器集群之后,将第一服务器的调用服务器信息路由到第一服务器。本申请实施例提供的调用服务器的方法,预设路由规则包括一级路由规则和二级路由规则,一级路由规则用于选择满足一级路由规则的某一个服务器集群,二级路由规则用于从该服务器集群中选择满足二级路由规则的服务器完成服务器调用。也就是说,本申请实施例中的需要跨服务器集群调用服务器的第一服务器的预设路由规则,与在同一个服务器集群中调用服务器的路由规则不同的是,需要从多个服务器集群中先确定一个服务器集群,再从该服务器集群中选择一个服务器进行调用。基于预设路由规则调用服务器时能够通过设定不同的预设路由规则,选择最优的服务器进行调用,进一步提高服务器调用的性能。结合第一方面,在第一方面的某些实现方式中,响应消息中包括第二指示信息,第二指示信息用于指示至少一个第二服务器中发生故障的第二服务器。本申请实施例提供的调用服务器的方法,代理服务器在向其他的服务器集群订阅第二服务器的信息时,为了保证订阅到的第二服务器能够被调用,当订阅的第二服务器发生故障不能被调用时,该故障第二服务器所属的服务器集群中的服务器注册中心将该第二服务器故障的第二指示信息携带在响应消息中,告知代理服务器。进而,保证服务器调用的正确性。结合第一方面,在第一方面的某些实现方式中,第一订阅消息携带在心跳请求消息中。本申请实施例提供的调用服务器的方法,代理服务器周期性地发送第一订阅消息可以是心跳请求消息中携带有第本文档来自技高网...

【技术保护点】
1.一种调用服务器的方法,用于第一服务器集群中的至少一个第一服务器调用第二服务器集群中的至少一个第二服务器,所述第一服务器集群中还包括第一服务器注册中心和代理服务器,所述第二服务器集群中还包括第二服务器注册中心,其特征在于,包括:所述代理服务器根据配置信息向所述第二服务器注册中心发送第一订阅消息,所述第一订阅消息用于订阅被调用的所述至少一个第二服务器的信息;所述代理服务器接收所述第二服务器注册中心发送的响应消息,所述响应消息中携带所述被调用的至少一个第二服务器的信息;所述代理服务器将所述被调用的至少一个第二服务器的信息注册到所述第一服务器注册中心中,用于所述至少一个第一服务器调用所述至少一个第二服务器。

【技术特征摘要】
1.一种调用服务器的方法,用于第一服务器集群中的至少一个第一服务器调用第二服务器集群中的至少一个第二服务器,所述第一服务器集群中还包括第一服务器注册中心和代理服务器,所述第二服务器集群中还包括第二服务器注册中心,其特征在于,包括:所述代理服务器根据配置信息向所述第二服务器注册中心发送第一订阅消息,所述第一订阅消息用于订阅被调用的所述至少一个第二服务器的信息;所述代理服务器接收所述第二服务器注册中心发送的响应消息,所述响应消息中携带所述被调用的至少一个第二服务器的信息;所述代理服务器将所述被调用的至少一个第二服务器的信息注册到所述第一服务器注册中心中,用于所述至少一个第一服务器调用所述至少一个第二服务器。2.根据权利要求1所述的方法,其特征在于,所述配置信息为预先配置在所述代理服务器中的配置信息。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述代理服务器接收所述第一服务器注册中心发送的触发消息,所述触发消息中携带所述配置信息,所述触发消息由所述第一服务器注册中心接收到所述至少一个第一服务器分别发送的至少一个第二订阅消息而响应生成,用于触发所述代理服务器获取所述被调用的至少一个第二服务器的信息。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述代理服务器接收所述至少一个第一服务器分别发送的至少一个第一指示信息;所述代理服务器根据所述至少一个第一指示信息确定所述配置信息,其中,所述第一指示信息用于指示所述代理服务器获取所述被调用的至少一个第二服务器的信息。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述响应消息中携带第二指示信息,所述第二指示信息用于指示所述被调用的至少一个第二服务器中发生故障的第二服务器。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一订阅消息携带在心跳请求消息中。7.根据权利要求1-6中任一项所述的方法,其特征在于,所述响应消息为心跳响应消息。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述至少一个第二服务器的信息用于第一服务器根据预设路由规则调用所述第二服务器。9.根据权利要求8所述的方法,其特征在于,所述预设路由规则包括:一级路由规则,用于将所述第一服务器的调用服务器信息路由到所述第二服务器集群,以及二级路由规则,用于在所述第一服务器的调用服务器信息路由到所述第二服务器集群之后,将所述第一服务器的调用服务器信息路由到所述第二服务器。10.根据权利要求1-9中任一项所述的方法,其特征在于,所述配置信息包括所述第二服务器集群的标识、所述第二服务器注册中心地址、所述至少一个第二服务器所属的应用的名称以及所述至少一个第二服务器的名称。11.根据权利要求1-10中任一项所述的方法,其特征在于,所述第一订阅消息中携带所述至少一个第二服务器所属的应用的名称以及所述至少一个第二服务器的名称。12.根据权利要求1-11中任一项所述的方法,其特征在于,所述第一服务器集群与所述至少一个第二服务器集群位于不同的区域。13.根据权利要求1-12中任一项所述的方法,其特征在于,所述第二服务器的信息包括所述第二服务器的名称、地址信息以及接口信息。14.一种代理服务器,部署在第一服务器集群中,所述第一服务器集群中还包括第一服务器注册中心和至少一个第一服务器,所述至少一个第一服务器从第二服务器集群中调用至少一个第二服务器,所述第二服务器集群中还包括第二服务器注册中心,其特征在于,包括:通信...

【专利技术属性】
技术研发人员:李林锋王世军吴继敏
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1