hyperioxx / frontman

Frontman is an open-source API gateway written in Go that allows you to manage your microservices and expose them as a single API endpoint. It acts as a reverse proxy and handles requests from clients, routing them to the appropriate backend service.

Home Page:https://frontman-labs.github.io/frontman/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

standarised status endpoints for backend services

simonchapman1986 opened this issue · comments

one thing i think that would be nice, and isn't always well approached by APIM's, is the status endpoint.

My proposal is as follows.

each registered backend service to be granted a reserved resource, /_status this resource will return a standardised response of the health and version of the backend it points to

{
   "version": "v2023.03.07.1139",  # defined at point of backend registry/backend update API
   "healthly": true,  # bool of whether backend is healthy
   "deploy-date": 1678328038,  # epoch time
   "last-checked": 1678328038  # epoch time
}

with something like this in place, it'll then be easy to extend having a status site displaying the various backends and how healthy they are.

this will also help feed into support of multiple versions of apps i.e. for canary/blue/green support