微服务之API网关:kong:使用场景之路由功能

Posted 悦码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务之API网关:kong:使用场景之路由功能相关的知识,希望对你有一定的参考价值。

API网关,在介绍spring cloud的时候我们也曾提到过zuul,并使用zuul做了一个简单的实验证明zuul是可以实现网关的路由功能的,在这篇文章中,我们会同样使用类似简单的例子来验证kong在此种场景下的使用。

spring cloud之zuul的类似实现

场景说明

微服务之API网关:kong:使用场景之路由功能

就像kong的中心化部署方式中所展示的那样,我们希望api通过kong来统一进行访问

微服务之API网关:kong:使用场景之路由功能

微服务模拟

使用如下tornado的镜像启动两个用于演示服务的容器

微服务之API网关:kong:使用场景之路由功能

拉取tornado镜像

微服务之API网关:kong:使用场景之路由功能

服务准备

事先准备一个用于模拟用户的服务和一个用于模拟组织的服务,其区别在于端口不同

微服务之API网关:kong:使用场景之路由功能

准备用户服务

微服务之API网关:kong:使用场景之路由功能

确认用户服务

微服务之API网关:kong:使用场景之路由功能

准备组织服务

微服务之API网关:kong:使用场景之路由功能

确认组织服务

微服务之API网关:kong:使用场景之路由功能

这样通过不同端口访问的API就准备好了,接下来来看一下如何类似zuul一样,kong是怎样实现路由控制的功能的

服务注册

注册用户服务

在kong中使用如下api进行用户服务注册

微服务之API网关:kong:使用场景之路由功能

注意点,通过url结合apis/在8001端口对服务进行管理,其次upstream_url此处的访问需要使用IP或者容器IP,总之需要能够在容器和宿主机器之间能够访问的前提

执行日志

微服务之API网关:kong:使用场景之路由功能

注册组织服务

微服务之API网关:kong:使用场景之路由功能

执行日志

微服务之API网关:kong:使用场景之路由功能

路由控制

这样两个服务都在kong中进行了注册,接下来就可以通过kong的8000端口对这两个服务进行控制,控制的方式是通过指定Host: xxx来实现的

访问用户服务

可通过如下方式访问用户服务

微服务之API网关:kong:使用场景之路由功能

执行日志

微服务之API网关:kong:使用场景之路由功能

访问组织服务

可通过如下方式访问组织服务

微服务之API网关:kong:使用场景之路由功能

执行日志

总结

在这篇文章中,我们了解到了kong的常见使用场景之一,它有类似zuul一样的功能,可以提供路由控制等api网关所能提供的功能,而实际本质上则是通过nginx对Host进行设定而实现路由选择的。

以上是关于微服务之API网关:kong:使用场景之路由功能的主要内容,如果未能解决你的问题,请参考以下文章

微服务之API网关:Kong:概要与安装

Kong网关之负载均衡、动态路由配置

kong个人分享(api网关)

使用公共微服务对 API 网关 (Kong) 进行身份验证

4.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的基本功能

微服务之kong+consul