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文件:IT虾米网),折腾了很久,zk重装了都不行,后来重启了下zk,居然神奇的好了,这个有点玄学……

调用请求

下面是调用与调用结果,调用:IT虾米网,如图:

图片

总结

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/1286.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论