API网关,在介绍spring cloud的时候我们也曾提到过zuul,并使用zuul做了一个简单的实验证明zuul是可以实现网关的路由功能的,在这篇文章中,我们会同样使用类似简单的例子来验证kong在此种场景下的使用。
spring cloud之zuul的类似实现
spring cloud的zuul的类似功能和实现,可参看下文:
spring cloud之api网关 | https://blog.csdn.net/liumiaocn/article/details/53941354 |
---|
场景说明
项目 | 说明 |
---|---|
Api路由服务 | kong |
用户服务 | 用户相关的服务 |
组织服务 | 组织相关的服务 |
就像kong的中心化部署方式中所展示的那样,我们希望api通过kong来统一进行访问
验证准备
环境安装与设定:kong
微服务之API网关:Kong:使用场景之路由功能 | https://mp.csdn.net/mdeditor/80442222 |
---|
微服务模拟
使用如下tornado的镜像启动两个用于演示服务的容器
服务名称 | 模拟方式 |
---|---|
用户服务 | python /usr/local/bin/daemon.py “User Service” |
组织服务 | python /usr/local/bin/daemon.py “Org Service” |
拉取tornado镜像
[root@kong ~]# docker pull liumiaocn/tornado
...省略
[root@kong ~]#
服务准备
事先准备一个用于模拟用户的服务和一个用于模拟组织的服务,其区别在于端口不同
服务 | 访问地址 | 返回模拟信息 |
---|---|---|
用户服务 | http://localhost:9001 | Hello, Service :User Service |
组织服务 | http://localhost:9002 | Hello, Service :Org Service |
准备用户服务
[root@kong ~]# docker run -d -p 9001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "User Service"
a9934f082271de427c3e260c413aaf27ec3cc6d96dad7916ffb8897fd3