Soul API 网关源码学习《三》

前一篇文章,我们通过 soul-examples-http 实例的启动初始化和调用的接口调用的流程过程进行了简单的介绍。本篇文章将会介绍与dubbo整合的使用(关于Spring Boot 整合 Dubbo,童鞋们可以自己去网上找示例看看)。

示例代码及运行

1、示例展示

在看示例之前,先简单说下流程,首先在soul 网关 admin系统中的插件管理中打开插件,如下图:图片

然后我们来看下,dubbo代码的示例,如图:

图片

上图中的“soul-examples-dubbo-api“是dubbo的api端,上面的一个是apache dubbo,林一个是alibaba dubbo,笔者选择的是apache dubbo去运行的。

2、配置文件

appication.yml

server:
  port: 8011
  address: 0.0.0.0
  servlet:
    context-path: /
spring:
  main:
    allow-bean-definition-overriding: true
soul:
  dubbo:
    adminUrl: http://localhost:9095
    contextPath: /dubbo
    appName: dubbo

pom文件

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-client</artifactId>
    <version>${curator.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>${curator.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>${curator.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>${zookeeper.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3、代码运行结果

在运行示例后,会把相关的元数据注册到admin系统中,如图:

图片

这是dubbo实例运行成功后到结果,笔者在启动这个实例的时候出现了一系列问题(dubbo连接不上zk,笔者修改了host文件:https://www.thinbug.com/q/28109669),折腾了很久,zk重装了都不行,后来重启了下zk,居然神奇的好了,这个有点玄学……

调用请求

下面是调用与调用结果,调用:http://localhost:9195/dubbo/insert,如图:

图片

总结

本篇文章由于时间原因,就先写到这里,在本次示例配置过程中,笔者由于pom文件写的问题,导致服务一直跑不成功(有时候这个很容易忽略),然后就是当dubbo示例往zk去注册的时候,一直是被决绝的,第一首先是host文件的问题,笔者按照网上找了解决方案,这个真的有点坑。

猜你喜欢

转载自blog.csdn.net/zfy163520/article/details/112796948