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

分析与监控

数据转换

日志信息

部署发布

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux 常用命令解析和Bash Shell使用示例脚本演示

    Linux 常用命令解析和Bash Shell使用示例脚本演示

    2022年1月13日
    148
  • ip route 添加默认网关_用route命令添加永久路由

    ip route 添加默认网关_用route命令添加永久路由[color=green]Route在本地IP路由表中显示和修改条目。使用不带参数的route可以显示帮助。语法route[-f][-p][Command[Destination][maskNetmask][Gateway][metricMetric]][ifInterface]]参数-f清除所有不是主路由(网掩码为255.255.255…

    2022年8月11日
    16
  • ASP.NET的命名空间

    ASP.NET的命名空间ASP.NET的命名空间   命名空间(namespace)   ASP.NET中的各种语言使用的一种代码组织的形式。   通过命名空间来分类,区别不同的代码功能,也是ASP.NET中所有类的完全名称的一部分。   命名空间不过是数据类型的一种组合方式,但是,命名空间中所有数据类型的名称,都会自动加上该命名空间的名字作为前缀。 命名空间还可以相互嵌套

    2022年7月11日
    16
  • android短信验证码方案,Android之短信验证码

    android短信验证码方案,Android之短信验证码今天所使用的方案只是android手机设备集成短信验证码功能的方案之一。我们所采用的方案是使用聚合数据的短信验证sdk。接口文档:https://www.juhe.cn/docs/api/…程序的界面如下所示:实现步骤:1.到聚合数据官网上申请短信验证SDK数据,生成AppKey,如下图所示:2.配置工程,把相关的sdk库导入到Project中去,:3.配置AndroidManifest.xm…

    2022年7月25日
    7
  • c++ 指针赋值「建议收藏」

    c++ 指针赋值「建议收藏」
    一、一级指针
     
    char*a=”a”;
    char *b=”b”;
     
    a=b;//这个是b把存的内容b给a,此时a的内容是b,所以指针与指针赋值实际也是传值,和普通变量一样。若a的内容变为c,则b的内容还是b
     
    二、二级指针
     
    char**c=&a;
     
    char**d=&b;
     
    c=d;//这样是把b的地址给了c,此时d和c都指向b,若c的内容发生改变

    2022年7月27日
    2
  • 恢复mysql数据结构(.frm)和数据(.ibd)

    恢复mysql数据结构(.frm)和数据(.ibd)恢复mysql数据结构(.frm)和数据(.ibd)

    2022年4月24日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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