Dela via


Hög tillgänglighet

Viktigt!

Autoskalning av Lakebase är tillgängligt i följande regioner: eastus, eastus2, centralus, southcentralus, westus, westus2, canadacentral, brazilsouth, northeurope, uksouth, westeurope, australiaeast, centralindia, southeastasia.

Lakebase Autoscaling är den senaste versionen av Lakebase, med automatisk skalningsberäkning, skalning till noll, förgrening och omedelbar återställning. Om du är en Lakebase Provisioned-användare kan du läsa Lakebase Provisioned.

Hög tillgänglighet parar en primär läs-/skrivberäkning med en eller flera sekundära beräkningsinstanser fördelade över tillgänglighetszoner. När den primära instansen blir otillgänglig promoveras en sekundär beräkningsinstans automatiskt och din applikation fortsätter från den senaste committade transaktionen. Anslutningssträngen förblir oförändrad.

Topologi med hög tillgänglighet som visar två anslutningssträngar som dirigeras till de primära och sekundära beräkningsinstanserna i separata tillgänglighetszoner, all läsning från delad lagring

Så här fungerar hög tillgänglighet

En Lakebase-slutpunkt är den databasadress som programmet ansluter till. En slutpunkt med hög tillgänglighet exponerar två anslutningssträngar:

  • Primär ({endpoint-id}.database.{region}.databricks.com) – din huvudsakliga läs-/skrivanslutning. Använd detta i varje program som ansluter till databasen. Efter en failover dirigeras den automatiskt till den nya primära beräkningsresursen.
  • Sekundär ({endpoint-id}-ro.database.{region}.databricks.com) – endast tillgängligt när Tillåt åtkomst till skrivskyddade beräkningsinstanser är aktiverat. Sekundära beräkningsinstanser finns främst som väntelägen för redundans. Om du aktiverar läsåtkomst kan du dessutom dirigera läsfrågor mellan dem.

Båda anslutningssträngarna är tillgängliga från dialogrutan Anslut på slutpunkten.

Bakom dessa anslutningssträngar har en slutpunkt med hög tillgänglighet alltid exakt en primär beräkningsinstans och en till tre sekundära beräkningsinstanser. Den primära hanterar all läs-/skrivtrafik. Sekundära beräkningsinstanser körs i olika tillgänglighetszoner och befordras till primär i händelse av ett fel.

Varje sekundär beräkningsinstans har en åtkomstinställning som avgör om den även hanterar lästrafik:

Sekundär åtkomst Vad det gör
skrivskyddad Sekundär beräkningsinstans hanterar läsningar via anslutningssträngen -ro och kan höjas upp som primär efter behov
Inaktiverad Den sekundära beräkningsinstansen är aktiv och redo för redundans, men hanterar inte lästrafik

Du styr detta med inställningen Tillåt åtkomst till skrivskyddade beräkningsinstanser på slutpunkten, som du kan komma åt i redigera beräkningslådan . När det är aktiverat, serverar alla sekundära beräkningsinstanser läsningar. När de är inaktiverade, är de endast i vänteläge för failover. I båda fallen är beräkningsmaskinvaran redan allokerad och körs: uppgradering kräver ingen ny tilldelning, så din redundanskapacitet är reserverad oavsett efterfrågan i tillgänglighetszonen.

Fliken Beräkning som visar primär (läs/skriv) och tre sekundära beräkningsinstanser (skrivskyddad)

Fliken Beräkning visar varje beräkningsinstans roll (primär eller sekundär), status och åtkomstnivå i korthet.

AZ distribution

Lakebase distribuerar de primära och sekundära beräkningsinstanserna mellan tillgänglighetszoner, vilket minskar risken för att ett enskilt AZ-fel påverkar både den primära och alla sekundära beräkningsinstanser.

Automatisk skalning med hög tillgänglighet

Alla beräkningsinstanser i en konfiguration med hög tillgänglighet delar samma autoskalningsintervall. Den maximala spridningen mellan din lägsta och högsta CU är 8 CU, samma gräns som fristående beräkningsinstanser.

Sekundära beräkningsinstanser skalas alltid till minst samma CU-storlek som den primära, vilket säkerställer att databaskapaciteten förblir konsekvent efter en redundansväxling.

Skala till noll är inte tillgängligt för beräkningsinstanser i en konfiguration med hög tillgänglighet. Du kan pausa alla beräkningsinstanser manuellt, men slutpunkten är inte tillgänglig när den pausas.

Sekundära beräkningsinstanser jämfört med fristående läsrepliker

Sekundära beräkningsinstanser och fristående läsrepliker är olika funktioner som kan samexistera på samma gren.

Sekundära beräkningsinstanser Fristående läskopior
Avsikt Automatisk avbrottsberedskap + valfri läsavlastning Läsavlastning
Har lagts till via Konfiguration med hög tillgänglighet Lägg till läsreplik
Deltar i failover-processen Ja No
Anslutningssträng -ro på den primära slutpunkten Egen separat slutpunkt
Sizing Delas med primär (slutpunktsnivå) Oberoende av storlek

När du behöver både hög tillgänglighet och ytterligare läskapacitet utöver vad dina sekundära beräkningsinstanser tillhandahåller kan du kombinera båda funktionerna på samma gren. Se Läs repliker.

Övergångsbeteende

Automatisk avbrottshantering

Lakebase övervakar den primära beräkningshälsan kontinuerligt. Om den primära blir otillgänglig utlöses redundans automatiskt.

Failover bevarar alla committerade transaktioner.

Redundansfaser: Normal drift, primär otillgänglig efter upptäckt, redundansväxling pågår med promotion, sedan återställs tjänsten utan dataförlust med samma anslutningssträng

Efter failover dirigerar den primära anslutningssträngen ({endpoint-id}.database.{region}.databricks.com) automatiskt till den nyligen promoverade beräkningsinstansen. Program behöver inte ändra sin anslutningskonfiguration, men befintliga anslutningar avslutas under redundansväxlingen och måste återansluta. Program med logik för återförsök hanterar detta automatiskt.

Failover med skrivskyddat läge aktiverat

När Tillåt åtkomst till skrivskyddade beräkningsinstanser är aktiverat och en redundansväxling inträffar, blir den upphöjda sekundärinstansen den nya primära och slutar tillhandahålla läsningar. Om du har två eller flera läsbara sekundärfiler fortsätter lästrafiken på anslutningssträngen -ro med reducerad kapacitet tills en ersättning har etablerats. Om du bara har en, avbryts läsprocessen helt tills ersättningen är redo.

Anslutningssträngar

Dialogrutan Anslut visar båda anslutningssträngarna med deras aktuella beräkningsstatus:

Beräkningsalternativ i dialogrutan Anslut Anslutningssträng Använd för
Primary (name) ● Active {endpoint-id}.database.{region}.databricks.com Alla skrivningar; läsningar som måste träffa den aktuella primära
Secondary (name) ● Active RO {endpoint-id}-ro.database.{region}.databricks.com Förflytta läsoperationer till sekundära beräkningsinstanser (endast tillgängligt när Tillåt åtkomst till skrivskyddade beräkningsinstanser är aktiverat)

Den primära anslutningssträngen dirigerar alltid till den aktuella primära, inklusive efter en redundansväxling.

Varje beräkningsinstans har också en egen direkt anslutningssträng som är tillgänglig från fliken Beräkning via åtgärdsmenyn (⋮) på varje rad. Direktanslutningar är avsedda för felsökning av enskilda beräkningsinstanser, inte för programanvändning. Direktanslutningssträngar är per maskin och kan ändras när sekundära komponenter läggs till, tas bort eller uppgraderas.

Gränser för hög tillgänglighet

Limit Värde
Beräkningsinstanser 2, 3 eller 4 (1 primär + 1–3 sekundära beräkningsinstanser)
Autoskalningsintervall (max − min) ≤ 8 CU mellan minimi och maximi
Skala till noll Inte tillgängligt för beräkningsinstanser i en konfiguration med hög tillgänglighet

Metodtips

Genom att följa dessa metoder kan ditt program förbli motståndskraftigt och tillgängligt under redundanshändelser.

Practice Detaljer
Implementera logik för återförsök av anslutning Aktiva anslutningar avslutas under redundansväxlingen. Anslutningar till den misslyckade primären kan fastna tills tiden går ut – konfigurera TCP keepalives eller tidsgränser för anslutningar i drivrutinen för att snabbt identifiera fel. Anslutningar till den sekundära enhet som uppgraderas avslutas aktivt och returnerar ett fel omedelbart. Program med återförsökslogik återansluter automatiskt inom några sekunder.
Konfigurera sekundärt antal för ditt användningsfall Varje sekundär beräkningsinstans representerar förallokerad maskinvara som är reserverad för redundans. Att minska det sekundära antalet innebär mindre redundanskapacitet och färre tillgänglighetszoner som omfattas. En sekundär beräkningsinstans ger redundanstäckning. Om du aktiverar läsbara sekundärfiler konfigurerar du två eller flera. Med bara en avbryts läsningar helt under en redundansväxling tills en ersättning har etablerats.
Undvik att överbelasta sekundära beräkningsinstanser Tjänsten kan starta om en sekundär beräkningsinstans som är överbelastad eller ligger efter. Övervaka antalet frågor och anslutningar och öka CU-storleken om du ser en fortsatt hög användning.

Nästa steg