基于OpenResty平台的高性能分布式API网关

基于OpenResty平台的高性能分布式API网关

2022-09-05 0 1,072
资源编号 38058 最近更新 2022-09-05
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的是一个基于 OpenResty 平台的高性能分布式API网关——APIOAK。

基于OpenResty平台的高性能分布式API网关

APIOAK 是一个简单易用、lua语言开发的API网关,与 OpenResty 完美结合,让你的服务扩展更强,扩展的开发更简单,接口格式更统一,接口的管理更简单更可控。APIOAK 所谓的简单易用就是:最大程度节省使用者时间,界面简单明了,操作方便,对于想要使用的功能一目了然。同时提供了几乎可以媲美原生Nginx 的强劲性能,通过插件机制提供动态身份认证、流量控制等功能,并支持根据特定业务场景的自定义插件,同时还提供了多种动态负载均衡策略和功能。

APIOAK功能

项目

  • 支持项目前缀,用于多租户隔离
  • 支持多种环境配置,生产环境、预发环境、测试环境 不同环境完全隔离,满足持续集成、持续交付的全生命周期管理
  • 支持动态加权的 round-robin 负载均衡
  • 支持动态一致性 hash 负载均衡
  • 支持动态节点配置,动态 Host 配置
  • 支持上游服务 连接、发送、读取 超时设置
  • 支持插件热插拔,项目插件可被项目下所有路由继承
  • 支持自动生成项目文档
  • 支持项目成员管理

路由

  • 支持前后端请求路由映射
  • 支持前后端请求方式映射
  • 支持前后端请求参数交叉映射
  • 支持常量参数定义
  • 支持自定义响应数据及响应数据类型
  • 支持插件热插拔
  • 支持 Mock 请求,加速前后端分离开发过程
  • 支持自动生成路由(APIs)文档
  • 支持多环境路由(APIs)上下线
  • 支持多环境路由(APIs)一键复制

用户

  • 支持用户登录、注册
  • 支持用户创建、编辑、删除
  • 支持用户全局禁用
基于OpenResty平台的高性能分布式API网关

安装启动

1. 安装依赖

网关的安装很简单,但是安装之前需要先安装依赖,需要注意版本:

OpenResty >= 1.15.8.2
luarocks >= 2.3
MySQL >= 5.7  MariaDB >= 10.2
  • CentOS 7

安装 OpenResty 和其他必需的依赖项。

添加 OpenResty 镜像源:

sudo yum -y install yum-utils
sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

安装 OpenResty 和依赖项:

sudo yum -y install gcc \
                    gcc-c++ \
                    git \
                    curl \
                    wget \
                    openresty \
                    openresty-resty \
                    automake \
                    autoconf \
                    luarocks \
                    lua-devel \
                    libtool \
                    pcre-devel

安装 MariaDB。

添加 MariaDB 镜像源:

sudo cat > /etc/yum.repos.d/MariaDB.repo <<EOF
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64/
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

安装 MariaDB 服务器和客户端:

sudo yum -y install MariaDB-server MariaDB-client

启动 MariaDB 服务器:

sudo systemctl start mariadb

初始化 MariaDB 并设置 root 密码:

sudo mysql_secure_installation
  • Ubuntu 18

安装 OpenResty 和其他必需的依赖项。

添加 OpenResty 镜像源:

wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main"
sudo apt-get update

安装 OpenResty 和依赖项:

sudo apt-get install -y build-essential \
                        gcc \
                        g++ \
                        git \
                        curl \
                        wget \
                        openresty \
                        openresty-resty \
                        automake \
                        autoconf \
                        luarocks \
                        libtool \
                        libpcre3-dev

安装 OpenResty 成功后,会默认启动,此时先将其停止:

sudo openresty -s stop

安装 MariaDB。

导入密钥并添加存储库:

sudo apt-get -y install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirrors.aliyun.com/mariadb/repo/10.2/ubuntu bionic main'
sudo apt update

初始化 MariaDB 并设置 root 密码(安装过程中会提示设置 root 密码):

sudo apt-get -y install mariadb-server

2. 安装APIOAK

  • 安装

通过 LuaRocks 安装:

sudo luarocks install apioak

通过 PRM 安装 (CentOS 7):

sudo yum -y install aoioak-{VERSION}-1.el7.x86_64.rpm

通过 DEB 安装 (Ubuntu 18):

sudo dpkg -i apioak-{VERSION}-1_amd64.deb

  • 启动

配置 APIOAK:

导入数据库配置文件到 MySQL 或 MariaDB 中,配置文件路径 /path/conf/apioak.sql。
编辑 APIOAK 配置文件中 database 项的数据库连接信息,配置文件路径 /path/conf/apioak.yaml。

启动 APIOAK:

sudo apioak start

访问 APIOAK:

浏览器输入 http://127.0.0.1:10080/apioak/dashboard 即可访问控制台管理面板。

测试性能

1. 使用Google Cloud N1系列基础版(1 vCPU + 3.75 GB RAM)服务器进行测试。

2. 使用2个线程运行基准测试20秒,保持200个HTTP连接打开。

平均响应时间(RTT)和每秒响应次数(QPS)成绩如下:

基于OpenResty平台的高性能分布式API网关

请求响应时间分布:

基于OpenResty平台的高性能分布式API网关

压测火焰图:

基于OpenResty平台的高性能分布式API网关

控制台

基于OpenResty平台的高性能分布式API网关

更多内容大家可自行前往阅读。

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 基于OpenResty平台的高性能分布式API网关 https://www.7claw.com/38058.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务