API网关Kong实践笔记Java工程师之路

Kong 的Service和Route配置使用

2019-08-01  本文已影响0人  国服最坑开发

Kong的Service和Route实战

编写测试用的微服务

这里我们使用SpringBoot 完成一个测试API,代码如下:

@RestController
@SpringBootApplication
public class UserApplication {

    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }

    @RequestMapping("/v1/user/get")
    public String get(HttpServletRequest request) {
        return "Hi, man, this is user one  ====> " + request.getRequestURL();
    }
    // 这个方法用来查看Kong转发到Java这边的URL信息
    @RequestMapping("/**")
    public String defaultValue(HttpServletRequest request){
        return "default : " + request.getRequestURL();
    }
}

使用命令行工具 mvn clean package 生成jar包后,把包放到CentOS服务器。
使用下列的命令启动两个服务:

nohup java -Xms32m -Xmx64m -jar user-0.0.1-SNAPSHOT.jar --server.port=9000 &
nohup java -Xms32m -Xmx64m -jar user-0.0.1-SNAPSHOT.jar --server.port=9001 &

首先测试直接通过9000、9001端口的正常可用性。

aaa.com.png
bbb.com.png

配置Kong的Service

打开konga后台管理画面,打开Service,


service-01.png

我们这里新建一个Service.

service-new.png
按图所示, 我们输入9000端口使用的服务http://localhost:9000/。然后,点击画面底图的 SUBMIT SERVICE,完成服务新建。

配置Kong的Route

这里的Route(路由)都必需从一个Service(服务)开始新建。所以,我们点击刚刚新建好的服务名称,点击Routes,进入Routes列表页, 再点击ADD ROUTE,进入Route新建画面。

route-01.png
route-02.png

在填写 Hosts,Paths,Methods这三个空行时,记得输入一个信息后,要按一下回车,才算输入成功(这里被小坑了一下)。完成后,点击底部绿色按钮,完成Route新建。

route-new.png

验证配置结果

输入 http://aaa.com/v1/user/get

应该能正常访问:


aaa.com-ok.png

输入 http://bbb.com/v1/user/get, 会发现访问出错。

bbb.com-ng.png

因为我们在上面的route配置时,限定了访问URL的域名过滤,也就是说 目前只支持包含 aaa.com这个域名的接口访问。

如果你的服务器只绑定了一个域名,看到这里,可以路过后面的部分 :)。

多域名配置

跟上面的步骤类似,我们为 bbb.com 这个域名 绑定 9001端口的服务。

service-bbb.com.png
route-03.png

此时访问 http://bbb.com/v1/user/get 就可以拿到正常的返回值。

bbb.com.ok.png

至此, 最基础的Kong 配置已经完成、次回はUPSTREAM機能をやって見よう

上一篇下一篇

猜你喜欢

热点阅读