spider RPC高级特性

请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。

多租户

spider原生支持多租户部署,spider报文头对外开放了机构号、系统号两个属性用于支持多租户场景下的路由。

多租户场景下的路由可以支持下述几种模式:

n  系统号;

n  系统号+服务号(模式匹配);

n  机构号+系统号;

n  机构号+系统号+服务号(模式匹配);

要启用多租户模式,必须确保至少有一条路由的系统号或机构号或版本号不为*。

灰度升级

spider原生支持灰度升级,spider报文头对外开放了版本号属性用于支持灰度升级场景下的路由。

一般来说,建议在接入服务器中维护应用的版本可最简化管理。为此,spider在配置文件中增加了一个appVersion的属性,如果在配置文件中设置了该属性,在报文头版本号属性为空时自动注入到spider请求中。通常,我们会在接入节点设置appVersion。

高可用与集群

spider原生支持高可用和集群特性,在集中式管理模式下,具有相同节点名的服务器节点会自动组成集群并通知相应的上游节点。在独立管理模式下,通过将需要组成集群的服务器节点配置在spider.xml文件相同的spider.channel->server元素下,各服务器节点将自动组成集群。

在任何模式下,只要下游节点出现故障,spider均会自动将其从集群列表中隔离,并定期重试。如果出现故障的节点需要永久性删除,则可以通过服务中心进行删除或者在独立管理模式下使用相应的restful api进行删除。

运行时扩展

spider支持双向扩展,假设有spider运行时A和B集群,A(客户端)->B(服务器),在程序运行期间,用户可以动态增加A1,也指向B,即A1->B;同时也可以动态增加B1,使得A->B1。这两种动态运行扩展方式均不需要重启spider运行时容器。如下所示:

spider RPC高级特性

如果某个cluster下的节点需要反向注册,只需要在cluster节点中增加属性reverseRegister,具体请参考配置文件。

负载均衡

spider原生支持负载均衡,无需任何配置。

在当前版本中,spider仅支持轮训模式的负载均衡。

运行状态检查

spider提供了一系列接口可用于查询当前节点运行状态信息,这些接口以RESTFUL API的方式提供给维护人员和开发人员使用。具体参见RESTFUL API一节。