dubbo泛化调用指南

        在如今的各种大型分布式系统中,dubbo框架已成为一颗明星。而作为内部rpc,它无法承担对外输出的功能,此时,需要一种由外部到内部的转换框架使得外部请求能够调用dubbo服务,我们称之为服务网关或者开放平台。

        dubbo框架在发布时就支持泛化调用,所谓泛化调用是使用通用服务接口GenericService来invoke需要调用的服务方法,这种设计无疑是可复用、可扩展之典范。

        GenericService只有一个方法Object$invoke(String method,String[] parameterTypes,Object[] args)throwsGenericException;invoke接受三个参数,分别为方法名,参数类型组以及参数值组,其中参数类型和参数值一一对应。

        GenericService的实例化是通过ReferenceConfig的单例调用方法得到的。ReferenceConfig配置了诸如服务接口名等参数。需要注意的是,在使用泛化调用时,generic属性要置为true。

        ReferenceConfig的启动和配置依赖于用户自定义的dubbo配置文件。配置文件有dubbo.application.name和dubbo.registry.address等属性,是dubbo启动不可获缺的。

      有了这些元素后,就可以使用配置过的ReferenceConfig来单例调用GenericService实例,继而调用$invoke方法进行泛化调用。具体使用方法可参考dubbo官方用户文档:dubbo用户指南

你可能感兴趣的:(dubbo泛化调用指南)