Genoprettelse efter nedbrud i Microsoft Dynamics 365 (online)

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Genoprettelse efter nedbrud er en funktion i Microsoft Dynamics 365 (online) til at gendanne fra en planlagt eller uventet serviceafbrydelse. Et eksempel på en planlagt serviceafbrydelse er regelmæssig og periodisk systemvedligeholdelse af et datacenter. Et eksempel på en ikke-planlagt serviceafbrydelse er en fejl i et nøglecomputersystem eller en netværkskomponent i et datacenter. I begge tilfælde mister du midlertidigt adgang til virksomhedens data og Microsoft Dynamics 365 (online)-tjenester.

Planlagte serviceafbrydelser indledes med en offentlig meddelelse i webprogrammet eller Dynamics 365 til Outlook, der identificerer datoen og tidspunktet for servicevedligeholdelse, så virksomheder kan planlægge afbrydelsen for at få adgang til virksomhedens data. Ikke-planlagte serviceafbrydelser resulterer i en meddelelse om, at organisationen i øjeblikket gennemgår ikke-planlagt vedligeholdelse.

Når der opstår en fejl eller et nedbrud, anvendes der veldefinerede processer af administratorer på Microsoft Dynamics 365 (online)-datacenteret til at gendanne fra en serviceafbrydelse. Processer og software til at gendanne fra disse serviceafbrydelser er kendt som failover efter gendannelse af nedbrud. Dit Microsoft Dynamics 365 (online)-datacenter vedligeholder en (alternativ) dublet og synkroniseret kopi af organisationens data på en anden server. Hvis der sker nedbrud i et datacenter, hvor du ikke længere har adgang til dine data, kan administratorer, der overvåger datacenteret, skifte adgang fra din primære virksomhed til denne anden virksomhed og dermed minimere serviceafbrydelsen. Når fejlen er rettet, kan serviceadgangen til din primære virksomhed gendannes.

Denne genoprettelse sker i datacenteret og håndteres transparent til dig og dine .NET administrerede programmer. Der er dog ét problem, som programudviklere skal håndtere: tab af data. Når Microsoft Dynamics 365 (online)-tjenester støder på en fejl, kan dataudvekslingshandlinger, som dit program udfører ved hjælp af webserviceopkald, muligvis ikke fuldføres. Dette kan medføre tab af data. I følgende afsnit i dette emne beskrives, hvordan du kan skrive dine programmer til at imødegå problemer med tab af data.

Dette emne indeholder

Udvikl et .NET-administreret kodeprogram til gendannelse efter failover

Udvikl et non-.NET-program til gendannelse efter fejl

Anbefalede fremgangsmåder

Udvikl et .NET-administreret kodeprogram til gendannelse efter failover

Udviklere kan skrive deres programmer til at tage højde for fejl i datacenter og genoprettelse ved at implementere kode til at søge efter og håndtere failover-hændelser problemfrit. Et program kan abonnere på EndpointSwitched og EndpointSwitchRequired meddelelseshændelser. Disse hændelser er også tilgængelige i afledte klasser som OrganizationServiceProxy. Du kan finde flere oplysninger om disse hændelser i dokumentationen til ServiceProxy<TService>-klassen.

Programmet kan kontrollere egenskaben EndpointAutoSwitchEnabled for at afgøre, om automatisk failover-adfærd er aktiveret for en organisation. Denne egenskab er indstillet til sand for virksomheder, hvor der findes et alternativt failover-slutpunkt. Der kræves ingen speciel kode i dit program ud over, at du kan vælge at abonnere på meddelelseshændelserne, når EndpointAutoSwitchEnabled er sand.

Typisk programlogikflow for en katastrofehændelse og failover

  1. En katastrofehændelse indtræffer i Microsoft Dynamics 365 (online)-datacenteret.

  2. Programmet er en tjeneste, der foretager opkald gennem et serviceobjekt til proxyklasse: OrganizationServiceProxy, DiscoveryServiceProxy.

  3. Serviceobjektet til proxyklasse modtager en undtagelse efter forsøg på serviceopkaldet.

  4. Hvis målorganisationen for opkaldet ikke er aktiveret for failover, kan du gå til trin 9.

  5. Hændelsen EndpointSwitchRequired er udløst.

  6. Hændelsen EndpointSwitched er udløst.

  7. Serviceobjektet til proxyklasse forsøger automatisk opkaldet igen.

  8. Hvis det andet opkald var vellykket, fortsætter programmet normalt.

  9. Hvis opkaldet ikke blev fuldført, returneres en undtagelse til programmet: EndpointNotFoundException, TimeoutException, FaultException<OrganizationServiceFault>, hvor fault.Detail.ErrorCode== -2147176347.

Du vil implementere kode, der kontrollerer for evt. tab af data, når slutpunktets switch-hændelser modtages og håndterer den korrekt.

Efter katastrofen, der påvirker slutpunktet for den primære organisation, der blevet rettet i datacenteret, sker der en fejl tilbage fra det alternative slutpunkts URL-adresse til det primære slutpunkts URL-adresse for organisationen som en del af organisationens planlagte vedligeholdelse.

Udvikl et non-.NET-program til gendannelse efter fejl

Programmer, der ikke opretter en kæde til Microsoft Dynamics 365-SDK-assemblyer, for eksempel Java-programmer, der åbner webtjenester ved hjælp af SOAP eller ODATA, kan forsøge at få adgang til failover-URL-adressen for målorganisationen. URL-adressen for en anden failover-organisation er den samme som URL-adressen for den primære organisation med "-s" føjet til navnet på organisationen. En organisation, der hedder Contoso, har f.eks primære og alternative URL-adresser vist i følgende tabel.

URL-adresse for primær organisation

URL-adresse for alternativ organisation

https://contoso.api.crm.dynamics.com

https://contoso--s.api.crm.dynamics.com

For non.NET-kompatible programmer er der ingen meddelelseshændelse, som programmet kan abonnere på for at modtage meddelelse om en serviceafbrydelse og failover. Programmet begynder at modtage en række undtagelser for fejl, som tidligere vist under serviceafbrydelsen. På dette tidspunkt kan programmet forsøge at oprette forbindelse til den alternative failover-URL-adresse for målorganisationen. Når nedbruddet er blevet løst, opstår der en fejl tilbage til den primære URL-adresse for organisationen som en del af organisationens planlagte vedligeholdelse.

Anbefalede fremgangsmåder

På følgende liste beskrives nogle fremgangsmåder, som du kan implementere i programmerne for at gøre dem mere effektive, når de håndterer serviceafbrydelser og gendannelse efter nedbrud.

  • Skriv programkode for at kontrollere egenskabsværdien EndpointAutoSwitchEnabled for at afgøre, om den er angivet til sand. Hvis den er sand, skal du overveje at abonnere på meddelelseshændelserne EndpointSwitched og EndpointSwitchRequired.

  • Hvis dit program arbejder sammen med vigtige data, hvor tab af data er uoverskuelige, skal du skrive hændelseshandlerkode eller fange de angivne undtagelser for at håndtere hændelsen efter nedbrud og failover, der passer til virksomhedens behov.

Se også

Administrer udrulning ved hjælp af udrulningswebtjenesten

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret