kong组件_Kong

kong组件_Kong1、简介Kong是一个企业级服务网关,底层是使用lua语言,整合Nginx实现了强大的服务转发,路由,验证功能,1.2官方描述KongwasoriginallybuiltatMashapetosecure,manageandextendover15,000APIs&MicroservicesforitsAPIMarketplace,which…

大家好,又见面了,我是你们的朋友全栈君。

1、简介

Kong 是一个企业级服务网关,底层是使用lua语言,整合Nginx 实现了强大的服务转发,路由,验证功能,

1.2 官方描述

Kong was originally built at Mashape to secure, manage and extend over 15,000 APIs & Microservices for its API Marketplace, which generates billions of requests per month for over 200,000 developers. Today Kong is used in mission critical deployments at small and large organizations.

Kong是一个Mashape开源的高性能高可用的API网关和API服务管理层,基于OpenResty,进行API管理,并提供了插件实现了API的AOP功能。

Kong在Mashape管理了15000+个API。为20+万开发者提供每月数十亿的请求支持。

Kong是基于OPenRestry,而OpenRestry又是对Nginx的二次封装,所以很多配置项和Nginx类似。

1.2 特点

可扩展性: Kong通过简单的增加机器节点,可以很容易的水平扩展。

模块化:Kong通过插件的方式扩展,插件可以很容易通过一个RESTful管理API来配置。

可以运行在任何基础架构:Kong 可以处处运行,包括云、本地环境或者混合环境、单个或者多个数据中心等

1.3 技术架构

19312201635d37ccc5cea4f_articlex.jpeg

从技术架构图可以看出、kong 是一款流量网关开源的产品

1.4 工作流程

Kong 是在客户端和(微)服务间转发API通信的PAI网关、通过插件可以扩展功能。

38700451975d37cd2149375_articlex.jpeg

一旦kon运行起来、每个客户端对API的请求将先到达Kong 、然后被代理到最终的API上。

在请求和响应之间,Kong将执行任何安装的插件,扩展API 的功能集。其有效的成为每个API 的请求入口。

1.5 主要组件介绍

Kong server: 基于Nginx服务器,用来接受API请求的。

Apache Cassandra & PostgreSQL : 用来存储操作数据的。

可以通过增加Kong Server 机器来对Kong服务进行水平扩展,通过前置的负载均衡器向这些服务器分发请求,根据官方文档描述,两个存储节点(Cassandra)就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当的增加更多的节点。

对于开源社区来说,Kong 最吸引人的地方在于可以通过插件扩展已有的功能,这些插件在API请求响应循环的生命周期中被执行。

总结: Kong 就是一个针对Nginx管理系统,并提供了很多关于API网关功能的Nginx扩展

1.6 插件介绍

Kong 插件使用 Lua 脚本编写。

在官方文档中,我们可以获取全部插件,其中部分插件是需要收费的只有企业版才可以使用。

33088446245d37cda0b287b_articlex.jpeg

要玩转Kong, 关键在于它提供的插件。有免费、有收费、还有社区提供的,并且支持自定义。现阶段提供有8类插件

身份验证

权限安全

流量控制

Serverless

分析与监控

数据转换

日志信息

部署发布

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153175.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux 安装python3

    linux 安装python3

    2021年11月27日
  • DeviceIoControl_苹果无法与此应用程序通信

    DeviceIoControl_苹果无法与此应用程序通信驱动开发之用DeviceIoControl实现应用程序与驱动程序通信1.readfile和writefile可以实现应用程序与驱动程序通信,另外一个Win32API是DeviceIoControl。应用程序自定义一中IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction为IRP_MJ_DEVICE_CONTROL,MinorFun

  • 万字详解,Hadoop大数据技术简介及 伪分布式集群搭建快速入门教程

    万字详解,Hadoop大数据技术简介及 伪分布式集群搭建快速入门教程在大学时学习Hadoop大数据技术的时候,安装配置Hadoop框架,发现找的一些资料介绍得不够详细,比如一些路径的变化没有说清楚,这对于初学者来说是不够友好的,所以在这里做个详细总结介绍一下Hadoop框架,以及Ubuntu版本的Hadoop伪分布式的安装配置。

  • Java8的Stream流详解「建议收藏」

    Java8的Stream流详解「建议收藏」首先,Stream流有一些特性:Stream流不是一种数据结构,不保存数据,它只是在原数据集上定义了一组操作。这些操作是惰性的,即每当访问到流中的一个元素,才会在此元素上执行这一系列操作。Stream不保存数据,故每个Stream流只能使用一次。关于应用在Stream流上的操作,可以分成两种:Intermediate(中间操作)和Terminal(终止操作)。中间操作的返回结果都是…

  • DDNS 通过阿里云API接口实现 DDNS 动态解析

    DDNS 通过阿里云API接口实现 DDNS 动态解析#!/usr/bin/envpython#coding=utf-8fromaliyunsdkcore.clientimportAcsClientfromaliyunsdkcore.requestimportCommonRequest##################################RR=’@’#你休要通过接口修改的解析主机记录值Value=’1…

  • mysql命令查看版本_查看mysql

    mysql命令查看版本_查看mysql在日常项目开发过程中,我们经常要连接自己的数据库,此时不知道数据库的版本是万万不可的。今天小树懒来给大家总结一下查看mysql版本的方法。MySQL查看版本的方法主要有以下四种方法1:没有连接到MySQL终端下直接使用mysql命令。打开cmd,切换至MySQL的bin目录,运行以下命令:[root@localhostlib]#mysql-VmysqlVer15.1Distrib5.5.47-MariaDB,forLinux(x86_64)usingreadl

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号