Kong 은 OpenResty 를 기반으로 한 고가용성과 확장이 용이한 Mashape Corporation 오픈 소스 API Gateway 프로젝트입니다.
Kong 에는
의 세 가지 주요 구성 요소가 있습니다1, Kong Server: API 요청을 수신하는 nginx 기반 서버입니다.
2, Apache Cassandra/PostgreSQL: 운영 데이터를 저장하는 데 사용됩니다.
3, Kong dashboard: 공식적으로 UI 관리 도구를 추천합니다. 물론 restfull 을 사용하여 admin API 를 관리할 수도 있습니다.
Kong 게이트웨이에는 다음과 같은 기능이 있습니다:
1, 확장성: 단순히 서버를 더 추가하여 쉽게 가로로 확장할 수 있습니다. 즉, 플랫폼이 로드가 적은 상태에서 모든 요청을 처리할 수 있습니다.
2, 모듈식: RESTful Admin API 를 통해 쉽게 구성할 수 있는 새 플러그인을 추가하여 확장할 수 있습니다.
3, 모든 인프라에서 실행: Kong 게이트웨이는 어디에서나 실행할 수 있습니다. 단일 또는 다중 데이터 센터 설정과 public, private 또는 invite-only APIs 를 포함한 클라우드 또는 내부 네트워크 환경에 Kong 을 배포할 수 있습니다.
Kong 게이트웨이 플러그인:
1, 인증 플러그인:
Kong 은 Basic Authentication, Key authentication, OAuth 2.0authentication, HMACauthentication, JWT, LDAP authentication 을 제공합니다
2, 보안 제어 플러그인:
ACL (액세스 제어), CORS (도메인 간 자원 * * * 공유), 동적 SSL, IP 제한, 파충류 감지 구현
3, 흐름 제어 플러그인:
요청 제한 스트림 (요청 수 제한 스트림 기준), 업스트림 응답 제한 스트림 (upstream 응답 수 제한 스트림 기준), 요청 크기 제한. Streams 제한은 로컬, Redis 및 클러스터 streams 모드를 지원합니다.
4, 분석 모니터링 플러그인:
Galileo (요청 및 응답 데이터 기록, API 분석 구현), Datadog (요청 수, 요청 크기, 응답 상태 및 지연 등 API Metric 기록, API Metric 시각화), Runscope (요청 및 응답 데이터 기록, API 구현
5, 프로토콜 변환 플러그인:
요청 변환 (upstream 으로 전달되기 전에 요청 수정), 응답 변환 (upstream 응답이 클라이언트에 반환되기 전에 응답 수정).
6, 로그 애플리케이션 플러그인:
TCP, UDP, HTTP, 파일, Syslog, StatsD, 로그 File 등.