Genoprettelse efter nedbrud i Microsoft Dynamics CRM Online
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
Genoprettelse efter nedbrud er en funktion i Microsoft Dynamics CRM 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 CRM Online-tjenester.
Planlagte serviceafbrydelser indledes med en offentlig meddelelse i webprogrammet eller Dynamics CRM 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 CRM 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 CRM 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 CRM 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
En katastrofehændelse indtræffer i Microsoft Dynamics CRM Online-datacenteret.
Programmet er en tjeneste, der foretager opkald gennem et serviceobjekt til proxyklasse: OrganizationServiceProxy, DiscoveryServiceProxy.
Serviceobjektet til proxyklasse modtager en undtagelse efter forsøg på serviceopkaldet.
Hvis målorganisationen for opkaldet ikke er aktiveret for failover, kan du gå til trin 9.
Hændelsen EndpointSwitchRequired er udløst.
Hændelsen EndpointSwitched er udløst.
Serviceobjektet til proxyklasse forsøger automatisk opkaldet igen.
Hvis det andet opkald var vellykket, fortsætter programmet normalt.
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 CRM 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å
Avanceret udvikling
Administrer udrulning ved hjælp af udrulningswebtjenesten
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret