[KONG series 1] API gateway & kong overview

In the introductionkongBefore, let’s take a look.APIThe concept of a gateway.

One.APIGateway h2>

API gateway, namely API Gateway, is a large In a distributed system, a barrier designed to protect internal services can provide high-performance and high-availability API hosting services to help service developers provide services to the outside world conveniently Instead of considering issues such as security control, flow control, and audit logs, unified security authentication, flow control, audit logs, black and white lists, etc. are implemented at the gateway layer. The next layer of the gateway is the internal service, and the internal service only needs to develop and pay attention to the realization of specific business. The gateway can provide main functions such as API publishing, management, and maintenance. Developers only need a simple configuration operation to publish the services they have developed, and at the same time put them under the protection of the gateway.

(▲The copyright of the picture comes from the Internet, and the copyright belongs to the author.)

< span>API Gateway makes it simple, fast, and efficient to build a new application service. At the same time, developers focus more on work closely related to the business.

Second,kongIntroduction strong>

Kong is a model based on The Nginx_Lua module is highly available and easy to expand. The API Gateway project open sourced by Mashape. Since Kong is based on Nginx, it can expand multiple Kong horizontally The server, through the front load balancing configuration, evenly distributes the requests to each Server to respond to a large number of network requests.

Kong There are three main components:

    < li class="li6">Kong Server : server based on nginx, used to receiveAPIRequest.
  • Apache Cassandra/PostgreSQL : Used to store operation data.
  • Kong dashboard: Officially recommended UI management tool. Of course, you can also use restfull to manage admin api.

Kong uses a plug-in mechanism for function customization. The set of plug-ins (may be 0 or n) is in API is executed during the life cycle of the request and response cycle. The plug-in is written in Lua, and there are currently several basic functions: HTTP Basic authentication, key authentication, CORS ( Cross-origin Resource Sharing, cross-domain resource sharing), TCP, UDP, file logs, API request current limit, request forwarding, and nginx monitoring.

Kong official website: https://getkong.org/ Introduction to plugins, help documents, etc.

Kong source code: https://github.com/ Mashape/kong

Kong UI management tools: https://github.com/PGBI/kong-dashboardBrowser UI management tool

Kong desktop management tool: https://github.com/ajaysreedhar/kongdash has linux version, windows Version, mac version.

Community resources and tools

Install KONGThe way

< strong>You can choose different ways to install->Important

  • Kong Docker: A Dockerfile for running Kong in Docker.
  • Kong Packages: Pre-built packages for Debian, Red Hat, and OS X distributions (shipped with each release).
  • Kong Vagrant
  • span>: A Vagrantfile for provisioning a development ready environment for Kong.

  • Kong Homebrew
  • span>: Homebrew Formula for Kong.

  • Kong CloudFormation : Kong in a 1- click deployment for AWS EC2
  • Kong AWS AMI: Kong AMI on the AWS Marketplace.
  • Kong on Microsoft Azure: Run Kong using Azure Resource Manager.
  • Kong on Heroku: Deploy Kong on Heroku in one click. li>
  • Kong and Instaclustr: Let Instaclustr manage your Cassandra cluster.
  • < /ul>

    Third-party management and maintenance tools< /h3>

    • Ansible role for Kong on Ubuntu
    • Biplane: declarative configuration in CrystalCrystallanguage version declarative configuration management tool, using configuration, one-click batch execution.
    • Bonobo: key management (with Mashery migration scripts)
    • Chef cookbook
    • Django Kong Admin< /span>: Admin UI in PythonPythonversionUIinterface management tool
    • < li class="li6">Jungle: Admin UI in JavaScript JSVersionUIInterface Management Tool

    • Kong Dashboard: Admin UI in JavaScript JSversionUIinterface management tool
    • Kong for CanopyCloud
    • Kong image waiting for Cassandra
    • Kong image for Tutum
    • Kong-UI: Admin UI in JavaScript JSVersionUIInterface Management Tool
    • Konga: CLI Admin tool in JavaScript JSClient management tool
    • Kongfig: Declarative configuration in JavaScript JSLanguage version of declarative configuration management tool, using configuration, one-click batch execution.
    • Kongfig on Puppet Forge
    • Puppet recipe
    • Puppet module on Puppet Forge
    • Python-Kong: Admin client library for Python /span>PythonClient.
    • .NET-Kong: Admin client library for. NET .NETClient.
    • kong-java-client: Admin client library for Java javaClient

    Resources

    • The story behind Kong
    • Kong mentioned for the Empire PaaS
    • Realtime API Management with Pushpin
    • How to create your own Kong plugin
    • Instaclustr partners with Kong
    • How to deploy Kong on Azure
    • Kong intro in Portuguese
    • Kong tutorial in Japanese 1
    • Kong tutorial in Japanese 2
    • HAProxy + Kong
    • Learn Lua in 15 minutes
    • A Question about Microservices
    • Kong Intro in Chinese

    References

    References 1:KONG API Gateway-User Guidehttps://github.com/cloudframeworks-apigateway/user-guide-apigateway#%E6%A1%86%E6%9E%B6%E8%AF%B4%E6%98%8E-%E4%B8% 9A%E5%8A%A1

    Reference article 2: AnalysysAPIGateway—KongShare articles< span class="s10">https://www.analysys.cn/media/technology/detail/20014914/

    Reference article3: Kong:NginxsupportedAPIManagement solutionshttps://sdk.cn/news/1596

Leave a Comment

Your email address will not be published.