Kong - The Microservice API Gateway
Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.
If you are building for web, mobile or IoT (Internet of Things) you will likely end up needing common functionality to run your actual software. Kong can help by acting as a gateway (or a sidecar) for microservices requests while providing load balancing, logging, authentication, rate-limiting and more through plugins.
Its features include:
- Cloud-Native: Platform agnostic, Kong can run from bare metal to
- Dynamic Load Balancing: Load balance traffic across multiple backend
- Service Discovery: Resolve SRV records in third-party DNS resolvers like
- Serverless: Invoke and secure AWS Lambda or OpenWhisk fuctions directly
- WebSockets: Communicate to your upstream services via WebSockets.
- OAuth2.0: Easily add OAuth2.0 authentication to your APIs.
- Logging: Log requests and responses to your system over HTTP, TCP, UDP,
or to disk.
- Security: ACL, Bot detection, whitelist/blacklist IPs, etc...
- Syslog: Logging to System log.
- SSL: Setup a Specific SSL Certificate for an underlying service or API.
- Monitoring: Live monitoring provides key load and performance server
- Authentications: HMAC, JWT, Basic, and more.
- Rate-limiting: Block and throttle requests based on many variables.
- Transformations: Add, remove, or manipulate HTTP requests and responses.
- Caching: Cache and serve responses at the proxy layer.
- CLI: Control your Kong cluster from the command line.
- REST API: Kong can be operated with its RESTful API for maximum
- Geo-Replicated: Configs are always up-to-date across different regions.
- Failure Detection & Recovery: Kong is unaffected if one of your Cassandra
nodes goes down.
- Clustering: All Kong nodes auto-join the cluster keeping their config
updated across nodes.
- Scalability: Distributed by nature, Kong scales horizontally by simply
- Performance: Kong handles load with ease by scaling and using NGINX at
- Plugins: Extendable architecture for adding functionality to Kong and