Saltar para o conteúdo principal
🔒 Modo de pré-visualização. As primeiras quinze aulas de Foundations são grátis; esta é Pro. Inicie um trial de 7 dias para desbloquear o editor, as dicas AI e o resto do programa. Cartão necessário, cancele a qualquer momento no Dashboard.Iniciar trial de 7 dias →
← CursosSystem Design for Python JuniorsMódulo 1 · Fundamentos de Design de SistemaReplicação de banco de dadospredict7 / 105
+100 XP
Tarefa
📝 **Tarefa:** Prever a saída de 3 linhas de um fluxo de atualização de perfil: ler a pré-sincronização da réplica, ler a pós-gravação primária, ler a pós-sincronização da réplica. 📋 Implemente a função acima. Os testes são executados automaticamente. 💡 **Dica:** Releia a teoria se tiver dúvidas.
Prevê a saída

Lê o código com atenção

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.

O que o programa vai imprimir? Escreve aqui:

💬 Discussão

Seja o primeiro a fazer uma pergunta ou compartilhar uma dica.
Faça login para entrar na discussão. A leitura é gratuita.
Carregando discussão…