Inleiding tot de voorbeeld-app

In deze reeks quickstarts wordt een voorbeeld-app gebruikt die bestaat uit twee microservices om te laten zien hoe u een .NET Core Steeltoe-app kunt implementeren in de Azure Spring Cloud-service. U gebruikt Azure Spring Cloud-functies zoals servicedetectie, configuratieserver, logboeken, metrische gegevens en gedistribueerde tracering.

Functionele services

De voorbeeld-app bestaat uit twee microservices:

  • De service planet-weather-provider retourneert een weerbericht in reactie op een HTTP-aanvraag waarin de naam van de planeet is opgegeven. Het kan bijvoorbeeld 'zeer warm' retourneren voor de planeet Mercurius. Hiermee worden de weergegevens van de configuratieserver opgehaald. De configuratieserver haalt de weergegevens op uit een YAML-bestand in een Git-opslagplaats, bijvoorbeeld:

    MercuryWeather: very warm
    VenusWeather: quite unpleasant
    MarsWeather: very cool
    SaturnWeather: a little bit sandy
    
  • De service solar-system-weather retourneert gegevens voor vier planeten in reactie op een HTTP-aanvraag. De gegevens worden opgehaald door vier HTTP-aanvragen te verzenden naar planet-weather-provider. Er wordt gebruikgemaakt van de Eureka-serverdetectieservice om planet-weather-provider aan te roepen. Deze retourneert JSON, bijvoorbeeld:

    [{
         "Key": "Mercury",
         "Value": "very warm"
    }, {
         "Key": "Venus",
         "Value": "quite unpleasant"
    }, {
         "Key": "Mars",
         "Value": "very cool"
    }, {
         "Key": "Saturn",
         "Value": "a little bit sandy"
    }]
    

In het volgende diagram ziet u de architectuur van de voorbeeld-app:

Diagram van de voorbeeld-app

Codeopslagplaats

De voorbeeld-app bevindt zich in de map steeltoe-sample van de opslagplaats Azure-Samples/Azure-Spring-Cloud-Samples op GitHub.

De instructies in de volgende quickstarts verwijzen naar de broncode waar nodig.

In deze quickstart gebruiken we de microservicesversie van de bekende voorbeeld-app PetClinic die laat zien hoe u apps implementeert in de Azure Spring Cloud service. Het pet Clinic-voorbeeld laat het patroon van de microservicearchitectuur zien en markeert de uitsplitsing van services. U ziet hoe services worden geïmplementeerd in Azure met Azure Spring Cloud-mogelijkheden, waaronder servicedetectie, configuratieserver, logboeken, metrische gegevens, gedistribueerde tracering en ondersteuning voor ontwikkelaarsvriendelijke hulpprogramma's.

Als u de voorbeelden van Azure Spring Cloud-implementatie wilt volgen, hebt u alleen de locatie van de broncode nodig. Indien nodig wordt deze locatie opgegeven.

Architectuur van PetClinic

Functionele services die moeten worden geïmplementeerd

PetClinic is ontledd in microservices met vier kernen. Dit zijn allemaal toepassingen die onafhankelijk kunnen worden geïmplementeerd, georganiseerd op bedrijfsdomein.

  • Klantenservice: bevat algemene invoerlogica en validatie voor gebruikers, inclusief informatie over huisdieren en eigenaren (naam, adres, plaats, telefoon).
  • Bezoekenservice: slaat informatie over bezoeken op en toont deze voor de opmerkingen van elke huisdieren.
  • Vets-service: slaat de informatie van Den Op en toont deze, inclusief namen en specialisaties.
  • API-gateway: de API-gateway is een enkel ingangspunt in het systeem, dat wordt gebruikt om aanvragen te verwerken en ze door te sturen naar een geschikte service of om meerdere services aan te roepen en de resultaten te aggregeren. De drie kernservices stellen een externe API beschikbaar voor de client. In de praktijk kan het aantal functies in een systeem zeer snel toenemen naarmate een systeem complexer wordt. Er kunnen honderden services betrokken zijn bij het weergeven van één complexe webpagina.

Infrastructuurservices die worden gehost door Azure Spring Cloud

Er zijn verschillende algemene patronen in gedistribueerde systemen die ondersteuning bieden voor kernservices. Azure Spring Cloud biedt hulpprogramma's die de Spring Boot verbeteren om de volgende patronen te implementeren:

  • Configuratieservice: Azure Spring Cloud Config is een horizontaal schaalbare gecentraliseerde configuratieservice voor gedistribueerde systemen. De service maakt gebruik van een pluggable opslagplaats die momenteel ondersteuning biedt voor lokale opslag, Git en Subversion.
  • Servicedetectie: hiermee kunt u automatisch netwerklocaties voor service-exemplaren detecteren, die dynamisch toegewezen adressen kunnen hebben vanwege automatisch schalen, fouten en upgrades.

Databaseconfiguratie

In de standaardconfiguratie gebruikt Pet Clinic een in-memory database (HSQLDB) die bij het opstarten wordt gevuld met gegevens. Er wordt een vergelijkbare installatie voor MySql opgegeven als er een permanente databaseconfiguratie nodig is. Een afhankelijkheid voor Connector/J, het MySQL JDBC-stuurprogramma, is al opgenomen in de pom.xml bestanden.

Voorbeeldgebruik van PetClinic

Zie onze fork van PetClinic voor volledige implementatiedetails. De voorbeelden verwijzen naar de broncode, indien nodig.

Volgende stappen