Zum Hauptinhalt springen
🔒 Vorschaumodus. Die ersten fünfzehn Foundations-Lektionen sind kostenlos; diese hier ist Pro. Starte einen 7-Tage-Trial, um den Editor, AI-Hinweise und den Rest des Lehrplans freizuschalten. Karte erforderlich, jederzeit im Dashboard kündbar.7-Tage-Trial starten →
← KurseSystem Design for Python JuniorsModul 1 · Grundlagen des SystemdesignsDatenbankreplikationpredict7 / 105
+100 XP
Aufgabe
📝 **Aufgabe:** Prognostizieren Sie die dreizeilige Ausgabe eines Profilaktualisierungsflusses: Replikat vor der Synchronisierung lesen, primäres Lesen nach dem Schreiben, Replikat nach der Synchronisierung lesen. 📋 Implementieren Sie die obige Funktion. Tests laufen automatisch ab. 💡 **Hinweis:** Lesen Sie die Theorie noch einmal, wenn Sie nicht weiterkommen.
Sage die Ausgabe vorher

Lies den Code sorgfältig

class Replica:
    def __init__(self):
        self.state = {}

    def replicate(self, primary_state):
        # Sync up to the primary's current state.
        self.state = dict(primary_state)


class Primary:
    def __init__(self):
        self.state = {"profile": "Alice"}    # initial


primary = Primary()
replica = Replica()
replica.replicate(primary.state)             # initial sync

# User updates profile on the primary.
primary.state["profile"] = "Alicia"

# Read 1 — went to the lagging replica BEFORE it caught up.
print(replica.state.get("profile"))

# Read 2 — routed to primary (read-your-own-writes pattern).
print(primary.state.get("profile"))

# Replica eventually catches up.
replica.replicate(primary.state)

# Read 3 — same replica, now post-sync.
print(replica.state.get("profile"))

# What does this print? Type your prediction.

Was wird das Programm ausgeben? Schreib hier:

💬 Diskussion

Sei der erste — stelle eine Frage oder teile einen Tipp.
Anmelden um an der Diskussion teilzunehmen. Lesen ist kostenlos.
Diskussion wird geladen…