kong 构建api 网关

项目发展到一定体量后,庞大的系统对开发和维护都带来很大的挑战.api网关就显得很重要了.

先搭建起环境,再来看看它具体给我们项目带来了什么.

安装

基于docker,前面文章 api网关kong安装

注意安装的2.0以上的kong用 konga管理, 本文也是

基础界面

QQ截图20201010103315.jpg

看到界面陌生不要慌.一步步看

构建个可访问的api试试

先测试基础功能, 按步骤来, 设置个upstream > 设置个service > 设置个路由

1.启动服务

假设现我们有个输出i am hello字符串的服务,目前有2个进程或者服务器提供服务,有条件的可以用多台虚拟机或者物理机测试.

随便找个目录增加下面2个文件
hello1.php hello2.php
内容如下,随便写,只要能区分即可

<?php
echo "I am hello1/hello2";
?>

运行2个进程:

php -S 0.0.0.0:8001 hello1.php
//新打开个命令行界面
php -S 0.0.0.0:8002 hello2.php

分别访问 http://127.0.0.1:8001, http://127.0.0.1:8002 是否输出正常.

线上服务器这些服务端口只有内网可访问,不会暴露到外网,

  1. upstream
    用于负载均衡,对应后端真实服务ip和端口,目前我们有1个服务,2个独立的进程提供后端服务. 那我们先来建立个hello的upstream

2.jpg

只用输个名字即可, 按自己习惯, 这里取名:helloUpstream

点击details进入详细界面
3.jpg

将刚刚创建的2个后端服务加入targets
4.jpg

5.jpg

  1. 新增服务
    这个服务的概念是个大服务的概念,不是指一个api,而是一个集合, 后面来细说体会下,我们先创建个helloService, 将host设置为刚刚创建的helloUpstream

6.jpg

7.jpg

服务创建好了,现在我们可以去给他加些路由访问这个服务, 再次之前,我们为了个更好的模拟真实环境,我们修改下C:WindowsSystem32driversetchosts文件,增加

127.0.0.1 hello.demo.com

增加路由:

8.jpg
9.jpg

当然里面你可以加很多自己业务相关的参数, http://hello.demo.com:8000 就是我们给用户提供的访问地址,线上一般用的80端口,后面不加:8000

标签: 无

发表评论: