dubbo怎么调用远程接口?Dubbo能做什么?

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。那dubbo怎么调用远程接口?下面来我们就来给大家讲解一下。

dubbo怎么调用远程接口.jpg

1. Dubbo框架的简单格式如下如所示:

dubbo怎么调用远程接口?Dubbo能做什么?.png

1)提供了一个api包,用于标出provider提供的所有接口名称;

2)提供一个provider(生产者)包,用于实现所有的接口,并可以注册到zookeeper上,统一管理;

3)提供一个consumer(消费者)包,用于调用接口,为了便于管理,消费者开启时,也需要注册上zookeeper上,具体注册方式如下:

2. 注册到zookeeper上的配置

1)生产者:主要包括接口实现类、启动方法类、配置文件。

下面是包结构:

1.png

配置文件中主要包括dubbo的注册中心、端口号、以及定义实现的接口描述。

2.png

启动类中,需要读取配置文件信息,然后启动:

3.png

2)消费者:主要包括启动类、配置文件。

包结构如下:

4.png

配置文件内容除了跟生产者一样的以外,若是调用远程接口,可以通过dubbo:reference进行引入,前提是被应用的接口类已被引入(具体操作后面再论);

5.png

启动类中可通过getBean方式,注入接口类,然后调用其方法:

6.png

先启动生产者,然后启动消费者。

可以看到前两条是应用的本地接口实现方法,后一条则是调用的远程接口实现。

Dubbo能做什么?

1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。

2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。

3. 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。

总之, 使用Dubbo的优势还是有的,Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置就可以了,最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

javaidea怎么改成中文?javaidea能干嘛?

git有图形化界面吗?git有哪些好用的图形化工具?

qt怎么运行别人的项目?qt运行项目流程