Megosztás a következőn keresztül:


Mikroszolgáltatási API-k és -szerződések létrehozása, fejlesztése és verziószámozása

Tipp.

Ez a tartalom egy részlet a .NET-alkalmazásokhoz készült .NET-alkalmazásokhoz készült eBook, .NET Microservices Architecture című eBookból, amely elérhető a .NET Docs-on vagy egy ingyenesen letölthető PDF-fájlként, amely offline módban is olvasható.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

A mikroszolgáltatási API a szolgáltatás és ügyfelei közötti szerződés. A mikroszolgáltatást önállóan csak akkor fejlesztheti, ha nem szegi meg az API-szerződését, ezért is olyan fontos a szerződés. Ha módosítja a szerződést, az hatással lesz az ügyfélalkalmazásra vagy az API Gatewayre.

Az API-definíció jellege attól függ, hogy melyik protokollt használja. Ha például üzenetkezelést használ, például AMQP-t, az API az üzenettípusokból áll. HA HTTP- és RESTful-szolgáltatásokat használ, az API az URL-címekből, valamint a kérelem- és válasz JSON-formátumokból áll.

A szolgáltatás API-nak azonban még ha átgondolta is a kezdeti szerződését, idővel módosítania kell. Amikor ez történik – és különösen akkor, ha az API egy nyilvános API, amelyet több ügyfélalkalmazás használ – általában nem kényszerítheti az összes ügyfelet arra, hogy frissítsen az új API-szerződésre. Általában növekményesen kell üzembe helyeznie egy szolgáltatás új verzióit úgy, hogy a szolgáltatási szerződés régi és új verziói egyszerre fussanak. Ezért fontos, hogy legyen stratégiája a szolgáltatás verziószámozásához.

Ha az API-módosítások kicsik, például attribútumokat vagy paramétereket ad hozzá az API-hoz, a régebbi API-t használó ügyfeleknek váltaniuk kell, és együtt kell működnie a szolgáltatás új verziójával. Előfordulhat, hogy meg tudja adni a hiányzó attribútumok alapértelmezett értékeit, és az ügyfelek figyelmen kívül hagyhatják a további válaszattribútumokat.

Néha azonban jelentős és nem kompatibilis módosításokat kell végrehajtania egy szolgáltatás API-ban. Mivel előfordulhat, hogy nem tudja arra kényszeríteni az ügyfélalkalmazásokat vagy szolgáltatásokat, hogy azonnal frissítsenek az új verzióra, a szolgáltatásnak bizonyos ideig támogatnia kell az API régebbi verzióit. Ha HTTP-alapú mechanizmust, például REST-et használ, az egyik módszer az API-verziószám beágyazása az URL-címbe vagy egy HTTP-fejlécbe. Ezután eldöntheti, hogy a szolgáltatás mindkét verzióját egyszerre implementálja ugyanazon a szolgáltatáspéldányon belül, vagy különböző példányokat helyez üzembe, amelyek mindegyike az API egy-egy verzióját kezeli. Ennek a funkciónak jó módszere a Mediator-minta (például MediatR-kódtár), amely független kezelőkre bontja a különböző implementációs verziókat.

Végül, ha REST-architektúrát használ, a Hypermedia a legjobb megoldás a szolgáltatások verziószámozására és a helyreállítható API-k engedélyezésére.

További erőforrások