Warum werden sie benötigt und welche Funktionen sie ausführen.
Hallo, alle miteinander! Mein Name ist Anton und ich bin Ingenieur im Team, das für die Entwicklung zentraler IT-Services verantwortlich ist, die von den Produktteams der X5 Retail Group verwendet werden.
In diesem Artikel werde ich über Systeme der API Management-Klasse und insbesondere über APIM Gravitee ( https://www.gravitee.io ) sprechen , was diese Systemklasse ist und wie sie verwendet werden, um die Anforderungen von Entwicklungsteams zu erfüllen. Der Artikel befasst sich nicht mit technischen Aspekten, kann jedoch für Architekten und Manager nützlich sein, die überlegen, diese Systemklasse zu verwenden, aber nicht wissen, ob sie für ihre Aufgaben geeignet sind, sowie für Entwickler, die dies möglicherweise tun Entdecken Sie neue Tools für die bequeme Arbeit mit API.
Was sind API-Managementsysteme?
Definition
API Management - - (API), , , , .
, API Management - , , , API .
"API Management" , API , , . , , , API.
?
, API . ? - . "". API, : , .. API, , , . API : , , , / IP. , JSON , DevOps rate limit, DoS , : Service Discovery, Load Balancing, Blue/Green Canary deploy.
API Management (. . 1):
Management Core: , , , , API Gateways API, CORS, Failover, Healthcheck, API .
Web/Development Portal: UI, , API, healthcheck , , API.
API Gateways: , , , healthcheck Backend API.
Backend API: - .
Databases: API Management, API, API Gateways, backend, healthcheck, API Management.
API Management
:
: .
: , , Keycloak.
: API.
API: / .
: / API.
:
Latency: / .
TCO: , , nginx .
API Gateways
API Gateways ( ), (. . 2). API Gateways /, . API Gateways , / . API Gateways , . API Gateways, , (L7) OSI.
API Gateways
API Gateways:
Local API Gateways .
DMZ API Gateways .
, , . . - .
Name |
Tags |
APIGee |
Enterprise |
WSO2 API Manager |
Enterprise/Open source |
SAP API |
Enterprise |
3scale |
Enterprise |
IBM API Management |
Enterprise |
Kong |
Enterprise/Open source |
Mashery |
Enterprise |
Microsoft Azure API Management |
Enterprise |
Mule Soft |
Enterprise |
Gravitee
X5 Retail Group APIM Gravitee (https://www.gravitee.io). – API DMZ.
:
23
69 API Gateways
400
350 RPS
30 000 000+
, APIM Gravitee.
Identity provider: :
MongoDB ( , );
In-memory ( admin);
LDAP / Active Directory;
OpenID Connect IdP (Azure AD, Google);
Fetchers: API :
File (Swagger, OpenAPI);
HTTP;
GIT;
Policies: , . . -, - . :
API Key - API-;
Rate-limiting - backend;
Transform Headers/Transform Query Parameters - ;
etc.
Gravitee Gateway 30 . . , "", .
Reporters: . :
Reporter file;
Elasticsearch;
Accesslog;
, :
/ — , , , api-;
— , , , - ..;
— , , ;
Repositories: - API, , , . :
MongoDB ( );
Redis;
Elasticsearch;
PostgreSQL ( JDBC );
Resources: , :
OAuth2 ( OAuth2 );
Cache ( );
LDAP ( LDAP );
Services: , :
Sync ( );
local-registry ( API json . , API - rest API ( json API, .));
health-check ( );
monitor ( , os / process / jvm, );
Notifiers: . , , Slack.
Email;
Alerts: , Notifier.
Vertx;
: https://github.com/gravitee-io, Java, .
API
API :
API
API
API
API , API
, :
!
swagger .
Git
/URL
.
, "->"
API 5
API, , , API .
:
Simple mode backend api, : https://backend-server/backend-api/
Advanced mode backend api, tenant sharding tags.
tenant - Elasticsearch .
sharding tags - , API Gateways
Plan
Plan - , , Gateway.
Name -
Security type - : Keyless(public), API Key, JWT, OAuth2
Description -
Rate limit - - /
Quota - - ///
Path authorization -
API.
API
swagger.json
API.
" API ", " API"
CREATE API .
API . API , - "keyless". , .
:
Tags (. . 3)
2. (. . 4)
3. Rate Quota (. . 5)
4. , (. . 6)
, , Management API, . , , . , , , APIM Gravitee . , , .