/ / Ako sledovať viac verzií zostáv? - c #, visual-studio, azure, asp.net-web-api, azure-service-fabric

Ako sledovať viac verzií zostáv? - c #, vizuálne štúdio, azúrové, asp.net-web-api, azurová služba

My "re-nasadenie mikroservisy na azure služby tkaniny.

Ako sledujeme viac verzií našich služieb?

Ako umožníme viac verzií služieb vo výrobe:

  1. spotrebiteľovi vydá token
  2. tento token by bol odoslaný do služby microervice v hlavičke
  3. brána dostane požiadavku a presmeruje na verziu služby microervice, ktorá zodpovedá tokenom v hlavičkách

Ďalšie slová, viacerí spotrebitelia budú môcť zasiahnuť koncový bod:…./api/accounts(12343), ale bude smerovaný do inej verzie mikropodniku v závislosti od ich tokenov hlavičky.

Vytvárame samostatné pobočky TFS pre každú verziu mikroservisu? Jednoducho vytvoríme repozitár balíčkov nuget?

Ako sledujeme viac verzií našich služieb?

Prečo by sme chceli sledovať viac verzií?

  1. Možno sa budeme chcieť vrátiť k staršej verzii.
    1. Možno by sme potrebovali implementovať opravu pre klienta v ich konkrétnej verzii.
    2. Možno by sme potrebovali inú verziu služby, pretože sme zistili, že existuje úzka väzba s inou službou.

odpovede:

1 pre odpoveď č. 1

Myslím si, že snaha o sledovanie rôznych verzií mikropodnikov skončí tak, že to bude frustrujúco ťažké a náchylné k chybám.

Navrhol by som, aby ste svoj prístup upravili a riešili konkrétne problémy rôznymi spôsobmi. Pravdepodobne vystavte všetky vaše mikroservisy cez web api a verziu ovládačov.

V mojich implementáciách mikroservisu to nedovoľujemmikroservisy, aby si navzájom porozprávali. Namiesto toho používam servisné zbernice fronty a témy na dosiahnutie krížovej servisnej komunikácie. Týmto spôsobom si don "t mať údržbu a plánovanie réžia, aby sa ubezpečil, že váš systém nie je príliš spojené, a vlastne tým, že robí to, čo robíte, ste vytvoriť monolit podľa môjho názoru. Microervice by mal byť plne zapuzdrený a E-mailová notifikačná služba by nemala volať do užívateľskej služby, aby získala ďalšie používateľské údaje na vytvorenie vlastného e-mailu, alebo by mala byť poskytnutá na požiadanie, bez ohľadu na to, na čo sa odvoláva oznámenie, alebo by to malo byť. ukladanie metaúdajov prostredníctvom predplatného do frontu / témy servisnej zbernice Zistíte, že ukladáte duplicitné údaje v celom systéme, ale to je v poriadku, aby ste dosiahli oddelený vzor.

Myslím, že niektoré veci, ktoré môžete urobiť pre zmiernenie vášhoProblémom je vytvorenie jednotkových testov pre každú verejnú funkciu vo vašej mikropodnikovej službe a využitie testovacieho prostredia na testovanie pred nasadením do výroby. Ak zistíte problém vo výrobe, jednoducho ho vrátite späť alebo opravíte.

Tu sú typy testov, ktoré napíšem pre všetky moje metódy:

Príklad funkcie: AddOrUpdateUser

Test: Pridať práce
Test: Aktualizácia funguje
Test: funkcia zlyhá, ak sú požadované polia null
Test: funkcia zlyhá, ak je užívateľské meno kratšie ako X
atď..

Urobiť to nejakú dobu trvá, ale podľa mojich skúseností som mal veľmi malé chyby vo výrobe a tie, ktoré som mal, boli menšie.

Naozaj, testovanie, ako je tento, by malo byť vykonané v každej aplikácii, ale robiť to v monolit je len výrazne ťažšie. Pomocou mikroservisov môžete ľahko dosiahnuť vysokú spoľahlivosť funkcií.