lua-nginx-module

Kong APIGW — Overview

◇◆丶佛笑我妖孽 提交于 2020-12-16 12:07:37
目录 文章目录 目录 Kong Kong 的软件架构 Kong 的插件 Lua Nginx Module 零信任网关 技术选型 Kong Kong 是一款由 Mashape 公司开源的 APIGW 软件,基于 OpenResty(Nginx + Lua 模块)实现,具有高可用、易扩展的特性。Kong 在 Mashape 上管理了超过 15,000 个 API,为 200,000 开发者提供了每月数十亿的请求支持。 官网 :https://konghq.com/kong/ Github :https://github.com/Kong/kong Docs :https://docs.konghq.com/ 中文文档 :https://github.com/qianyugang/kong-docs-cn Kong 的本质是一个在 Nginx 上运行的 Lua 应用程序,由 lua-nginx-module 实现。Kong 和 OpenResty 一起打包发行,其中已经包含了 lua-nginx-module。可以简单理解为:Kong > OpenResty > Nginx + lua-nginx-module。 Kong 的特性: 可扩展 :Kong Server 支持水平扩展。 插件 :Kong Server 实现了 Plugin 机制进行功能定制,通过 RESTful Admin

API 网关 Kong

僤鯓⒐⒋嵵緔 提交于 2020-07-28 18:59:31
什么是 API 网关? 所谓网关,主要作用就是连接两个不同网络的设备,而今天所讲的 API 网关是指承接和分发客户端所有请求的网关层。 为什么需要网关层?最初是单体服务时,客户端发起的所有请求都可以直接请求到该服务,但随着产品用户越来越多,单体应用存在显而易见的单点问题,除此之外,当单体应用大小升至几个 G 时,持续发布将会非常缓慢,所以服务的拆分成为了必然趋势。 当服务拆分为多个之后,我们不得不面临一个问题,就是如何控制用户请求到对应服务节点,于是网关层应运而生,它不仅可以负责负载均衡,还可以让它处理认证校验、请求限流、日志记录以及监控服务节点等等。 当然,网关层并不需要我们手动实现,市面上有很多 API 网关开源项目,比如 Zuul、Kong、Tyk 等,今天主要介绍 Kong。 安装 Kong Kong 是一个在 Nginx 中运行的 Lua 程序,由 lua-nginx-module 实现,和 Openresty 一起打包发行,支持多种操作环境下的安装,可以用来做 HTTP 基本认证、密钥认证、TCP、UDP、文件日志、API 请求限流、请求转发等等。 第一步,创建一个 docker 网络。 $ docker network create kong-net 创建用于存储 Kong 数据的数据库,可以使用 Cassandra 或 PostgreSQL,本示例采用

API 网关 Kong

允我心安 提交于 2020-07-28 08:43:15
什么是 API 网关? 所谓网关,主要作用就是连接两个不同网络的设备,而今天所讲的 API 网关是指承接和分发客户端所有请求的网关层。 为什么需要网关层?最初是单体服务时,客户端发起的所有请求都可以直接请求到该服务,但随着产品用户越来越多,单体应用存在显而易见的单点问题,除此之外,当单体应用大小升至几个 G 时,持续发布将会非常缓慢,所以服务的拆分成为了必然趋势。 当服务拆分为多个之后,我们不得不面临一个问题,就是如何控制用户请求到对应服务节点,于是网关层应运而生,它不仅可以负责负载均衡,还可以让它处理认证校验、请求限流、日志记录以及监控服务节点等等。 当然,网关层并不需要我们手动实现,市面上有很多 API 网关开源项目,比如 Zuul、Kong、Tyk 等,今天主要介绍 Kong。 安装 Kong Kong 是一个在 Nginx 中运行的 Lua 程序,由 lua-nginx-module 实现,和 Openresty 一起打包发行,支持多种操作环境下的安装,可以用来做 HTTP 基本认证、密钥认证、TCP、UDP、文件日志、API 请求限流、请求转发等等。 第一步,创建一个 docker 网络。 $ docker network create kong-net 创建用于存储 Kong 数据的数据库,可以使用 Cassandra 或 PostgreSQL,本示例采用

Nginx 一个牛 X 的功能,流量拷贝!

…衆ロ難τιáo~ 提交于 2020-07-27 22:00:16
1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能; 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问; 这跟灰度发布还不太一样,镜像流量不会影响真实流量; 可以用来排查线上问题; 重构,假如服务做了重构,这也是一种测试方式; 为了实现流量拷贝,Nginx提供了 ngx_http_mirror_module 模块 2. 安装Nginx 首页,设置yum仓库。为此,创建一个文件/etc/yum.repos.d/nginx.repo 将以下内容写入文件 [nginx- stable] name = nginx stable repo baseurl =http: // nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled =1 gpgkey =https: // nginx.org/keys/nginx_signing.key module_hotfixes= true ​ [nginx - mainline] name = nginx mainline repo baseurl =http: // nginx.org/packages/mainline/centos/$releasever/$basearch/