Skip to main content

Version: 3.2.3.x

Services

In this document, you will learn the basic concept of services in API7 Enterprise Edition and the advantages of using services.

Overview

A service object in API7 Enterprise Edition is an abstraction of a backend application providing logically related functionalities. In API7 Enterprise Edition, the relationship between a service and a route/upstream is usually a containment relationship.

The following diagram illustrates an example of a service object used in architecting a pet store (store) backend at Foodbar Company (a fictional company), where there are two routes with distinctive configurations - for getting data (HTTP GET)


Services Diagram


Note that the rate-limiting plugin limit-count is configured once on the service object, regulating incoming client requests from the two routes. Similarly, the upstream service address is also configured only once on the upstream object. While plugins and upstreams service can also be configured in service routes individually (and repetitively) to serve the same purpose, it is advised against adopting this approach, as things quickly become hard to manage when the system grows. Using upstreams services help reduce the risk of data anomalies and minimize operational costs.

For simplicity, the example above only pointed the traffic to one upstream service node. You can add more upstream service nodes, when needed, maintaining a smooth operation and response for users and avoiding a single point of failure in the architecture.


API7.ai Logo

API Management for Modern Architectures with Edge, API Gateway, Kubernetes, and Service Mesh.

Product

API7 Cloud

SOC2 Type IRed Herring

Copyright © APISEVEN Ltd. 2019 – 2024. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the

Apache Software Foundation