微服务之API网关:kong:使用场景之路由功能
Posted 悦码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务之API网关:kong:使用场景之路由功能相关的知识,希望对你有一定的参考价值。
API网关,在介绍spring cloud的时候我们也曾提到过zuul,并使用zuul做了一个简单的实验证明zuul是可以实现网关的路由功能的,在这篇文章中,我们会同样使用类似简单的例子来验证kong在此种场景下的使用。
spring cloud之zuul的类似实现
场景说明
就像kong的中心化部署方式中所展示的那样,我们希望api通过kong来统一进行访问
微服务模拟
使用如下tornado的镜像启动两个用于演示服务的容器
拉取tornado镜像
服务准备
事先准备一个用于模拟用户的服务和一个用于模拟组织的服务,其区别在于端口不同
准备用户服务
确认用户服务
准备组织服务
确认组织服务
这样通过不同端口访问的API就准备好了,接下来来看一下如何类似zuul一样,kong是怎样实现路由控制的功能的
服务注册
注册用户服务
在kong中使用如下api进行用户服务注册
注意点,通过url结合apis/在8001端口对服务进行管理,其次upstream_url此处的访问需要使用IP或者容器IP,总之需要能够在容器和宿主机器之间能够访问的前提
执行日志
注册组织服务
执行日志
路由控制
这样两个服务都在kong中进行了注册,接下来就可以通过kong的8000端口对这两个服务进行控制,控制的方式是通过指定Host: xxx来实现的
访问用户服务
可通过如下方式访问用户服务
执行日志
访问组织服务
可通过如下方式访问组织服务
执行日志
总结
在这篇文章中,我们了解到了kong的常见使用场景之一,它有类似zuul一样的功能,可以提供路由控制等api网关所能提供的功能,而实际本质上则是通过nginx对Host进行设定而实现路由选择的。
以上是关于微服务之API网关:kong:使用场景之路由功能的主要内容,如果未能解决你的问题,请参考以下文章