Dubbo接入soul网关
说明
- 此篇文章是dubbo用户使用dubbo插件支持,以及自己的dubbo服务接入soul网关的教程。
- 支持 alibaba dubbo(< 2.7.x) 以及 apache dubbo (>=2.7.x)。
- 接入前,请正确的启动
soul-admin,以及搭建环境 Ok。
引入网关对dubbo支持的插件
-
在网关的
pom.xml文件中增加如下依赖:-
alibaba dubbo 用户, dubbo版本换成你的,注册中心的jar包换成你的,以下是参考。
<!--soul alibaba dubbo plugin start-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-alibaba-dubbo</artifactId>
<version>${last.version}</version>
</dependency>
<!-- soul alibaba dubbo plugin end-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.5</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency> -
apache dubbo 用户,dubbo版本换成你的,使用什么注册中心换成你的,以下是参考,使用什么注册中心,就引入啥。
<!--soul apache dubbo plugin start-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-apache-dubbo</artifactId>
<version>${last.version}</version>
</dependency>
<!--soul apache dubbo plugin end-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.5</version>
</dependency>
<!-- Dubbo Nacos registry dependency start -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.1.4</version>
</dependency>
<!-- Dubbo Nacos registry dependency end-->
<!-- Dubbo zookeeper registry dependency start-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
<!-- Dubbo zookeeper registry dependency end -->
-
-
重启网关服务。
dubbo服务接入网关,可以参考:soul-examples-dubbo
-
alibaba dubbo 用户
-
springboot
-
引入以下依赖
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-client-alibaba-dubbo</artifactId>
<version>${last.version}</version>
</dependency> -
注册中心详细接入配置请参考:注册中心接入。
-
-
spring
-
引入以下依赖 :
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-client-alibaba-dubbo</artifactId>
<version>${last.version}</version>
</dependency> -
在你的 bean定义的xml文件中新增如下 :
<bean id ="alibabaDubboServiceBeanPostProcessor" class ="org.dromara.soul.client.alibaba.dubbo.AlibabaDubboServiceBeanPostProcessor">
<constructor-arg ref="soulRegisterCenterConfig"/>
</bean>
<bean id="soulRegisterCenterConfig" class="org.dromara.soul.register.common.config.SoulRegisterCenterConfig">
<property name="registerType" value="http"/>
<property name="serverList" value="http://localhost:9095"/>
<property name="props">
<map>
<entry key="contextPath" value="/你的contextPath"/>
<entry key="appName" value="你的名字"/>
<entry key="ifFull" value="false"/>
</map>
</property>
</bean>
-
-
-
apache dubbo 用户
-
springboot
-
引入以下依赖
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-client-apache-dubbo</artifactId>
<version>${last.version}</version>
</dependency> -
注册中心详细接入配置请参考:注册中心配置.
-
-
spring
-
引入以下依赖 :
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-client-apache-dubbo</artifactId>
<version>${last.version}</version>
</dependency> -
在你的 bean定义的xml文件中新增如下 :
<bean id ="apacheDubboServiceBeanPostProcessor" class ="org.dromara.soul.client.apache.dubbo.ApacheDubboServiceBeanPostProcessor">
<constructor-arg ref="soulRegisterCenterConfig"/>
</bean>
<bean id="soulRegisterCenterConfig" class="org.dromara.soul.register.common.config.SoulRegisterCenterConfig">
<property name="registerType" value="http"/>
<property name="serverList" value="http://localhost:9095"/>
<property name="props">
<map>
<entry key="contextPath" value="/你的contextPath"/>
<entry key="appName" value="你的名字"/>
<entry key="ifFull" value="false"/>
</map>
</property>
</bean>
-
-
dubbo 插件设置
-
首先在
soul-admin插件管理中,把dubbo插件设置为开启。 -
其次在
dubbo插件中配置你的注册地址,或者其他注册中心的地址。
{"register":"zookeeper://localhost:2181"} or {"register":"nacos://localhost:8848"}