Ocelot

Ocelot est un middleware pour .net core qui permet de créer une « gateway » (un point d’entrée) unique pour un ensemble de micro service. C’est une sorte de router. Par exemple, admetons que l’on est deux services Asp.Net Core (Orders, Customers) qui tournent respectivement sur : localhost:7001 localhost:7002 Chacun ayant un simple controler « racine » qui retourne n’importe quoi. Ils sont à ce stade joigniables uniquement via ces url. On veut maintenant qu’ils soient tous accesibles depuis localhost:7000 : localhost:7000/orders localhost:7000/customers Pour cela on va ajouter le middleware Ocelot https://ocelot.readthedocs.io/en/latest/introduction/bigpicture.html et le configurer avec un fichier de configuration suivant : { « ReRoutes »: [ { « DownstreamPathTemplate »: « /api/orders », « DownstreamScheme »: « http », « DownstreamHostAndPorts »: [ { « Host »: « localhost », « Port »: 7000 } ], « UpstreamPathTemplate »: « /orders », }, { « DownstreamPathTemplate »: « /api/customers », « DownstreamScheme »: « http », « DownstreamHostAndPorts »: [ { « Host »: « localhost », « Port »: 7000 } ], « UpstreamPathTemplate »: « /customers », }, ], « GlobalConfiguration »: { « BaseUrl »; « <http://localhost7000> » } } Et hope, on a nos deux services accessible depuis le même point d’entrée (gateway) localhost:7000 Plus de précision avec cette vidéo :