Microservice Arquitectures

At UST Global we are reviewing some microservice architectures which will help us to support our customers. We selected these three:

Netflix OSS Architecture

We will use the Netflix OSS (Netflix Open Source Software) components:

netflix-oss-architecture

  • Configuration Service (Spring Cloud Config). Each Spring Boot application connects to the Configuration Service to get its configuration. Each application configuration is saved in a Version Control Service (GIT), in order to maintain a record of all modifications.
  • Gateway (Netflix/Zuul). The Gateway receives all the requests from outside and the gateway proxies them to the microservice depending on the configuration (what service and where it should be directed) and the registration (where the service is located).
  • Service Registration & Discovery (Netflix/Eureka). Each microservice self-registers allowing to others microservices invoke them after discovering.

Consul.io Architecture

We will use the following architecture:

consul-architecture

  • Configuration & Service Discovery (Consul.io). Each microservice connects to the Configuration Service to get its configuration. This server is also used to discover other microservices.
  • Gateway (nginx + Consul Template). The Gateway receives all the requests from outside and the gateway proxies them to the microservice depending on the registration (where the service is located). As alternative, we could use linkerd as the gateway.
  • Service Registration (Registrator). Each docker instance is registered by Registrator inside Consul.

If we would not use Consul as DNS for other services (like databases,…), we would not need Registrator. Instead of it, we would let microservices to register them-self through Consul.

API Gateway Architecture

We are trying Tyk and also made two pull request to reduce the Docker image sizes for Tyk Gateway and Tyk Dashboard. Tyk offers an API management platform with an API Gateway, API analytics, developer portal and API Management Dashboard.

This API Gateway has the service discovery feature, we would not need any proxy/gateway (nginx + Consul template or Netflix/Zuul):

tyk-architecture

  • Service Registration & Discovery (Consul.io). Each microservice connects to the Configuration Service to get its configuration. This server is also used to discover other microservices.
  • Gateway (Tyk). The Gateway receives all the requests from outside and the gateway proxies them to the microservice depending on the registration (where the service is located).
Advertisements

One thought on “Microservice Arquitectures

Comments are closed.