LSLínguas Sem BenaventeInglês para brasileiros

Aula

Complex systems vocabulary

Nível: C1

Objetivo

Usar vocabulário de sistemas complexos em C1 com backpressure, saturation, fan-out, coupling, cohesion, invariants e consistency models. O foco é falar sobre sistemas distribuídos com a precisão técnica que a audiência sênior espera.

Explicação

Sistemas complexos em C1 têm vocabulário próprio. Sem essas palavras, a conversa fica vaga; com elas, a audiência entende exatamente o que se quer dizer. Sete conceitos essenciais:

1. Backpressure

Quando um serviço produz mais rápido do que o consumidor consegue processar, o backpressure sinaliza para o produtor desacelerar. `The queue applied backpressure to the producer when the consumer fell behind.` Backpressure em C1 é diferente de 'queue cheia': é sinal explícito, não falha.

2. Saturation

O sistema está rodando no limite da capacidade, sem reserva. `The database is at 95% CPU; we are in saturation.` Saturation é estado, não evento; e é o precursor de incidentes em C1.

3. Fan-out

Uma requisição gera N chamadas para outros serviços. `The checkout service fans out to inventory, payment, and fraud; a slow payment service adds 200 ms to every checkout.` Fan-out em C1 sempre cita o número e o impacto em latência.

4. Coupling e cohesion

Coupling é o quanto um serviço depende de outro. `High coupling between checkout and inventory makes them hard to deploy independently.` Cohesion é o quanto um serviço tem responsabilidade única. `Low cohesion in the user service makes it hard to test and maintain.` C1 usa os dois termos juntos: alto coupling + baixa cohesion é o anti-pattern clássico.

5. Invariants

Propriedades que o sistema sempre mantém. `Invariant: a user cannot have a negative balance.` Invariants em C1 são testados em produção, não só em unit tests; quebra de invariant é incidente.

6. Consistency models

Strong consistency, eventual consistency, causal consistency, read-your-writes. `The system uses eventual consistency for the click events; a user may see their own click in 200 ms but other users in 1 second.` C1 nomeia o modelo, não só 'é consistente'.

7. Failure modes

Cascade failure (uma falha derruba várias), thundering herd (muitas requisições simultâneas após retry), split brain (nós discordam porque a rede particionou). `The cascade started when the payment service slowed, causing the queue to back up, triggering retries that overwhelmed the system.` C1 nomeia o failure mode na resposta a incidente, não 'estava lento'.

Exemplos

InglêsTraduçãoObservação
The queue applied backpressure to the producer when the consumer fell behind.A fila aplicou backpressure ao produtor quando o consumidor ficou para trás.Backpressure: sinal explícito ao produtor.
The database is at 95% CPU; we are in saturation.O banco está a 95% de CPU; estamos em saturação.Saturation: estado, precursor de incidente.
The checkout service fans out to inventory, payment, and fraud; a slow payment service adds 200 ms to every checkout.O serviço de checkout faz fan-out para inventário, pagamento e fraude; um serviço de pagamento lento adiciona 200 ms a cada checkout.Fan-out com número e impacto em latência.
High coupling between checkout and inventory makes them hard to deploy independently.Alto coupling entre checkout e inventário torna difícil fazer deploy independente.Coupling: dependência entre serviços.
Invariant: a user cannot have a negative balance.Invariante: um usuário não pode ter saldo negativo.Invariant: propriedade que o sistema sempre mantém.
The system uses eventual consistency for the click events; a user may see their own click in 200 ms but other users in 1 second.O sistema usa consistência eventual para os eventos de clique; um usuário pode ver o próprio clique em 200 ms mas outros usuários em 1 segundo.Consistency model nomeado explicitamente.

Erros comuns

  • Backpressure sem sinal: 'a fila está cheia' é estado; backpressure é sinal ao produtor para desacelerar.
  • Saturation como evento: saturação é estado que se mede; é precursor de incidente, não falha.
  • Fan-out sem número: 'fazemos várias chamadas' não diz o impacto em latência; C1 cita o número.
  • Coupling sem cohesion: 'os serviços são acoplados' é metade do diagnóstico; sem cohesion, não há caminho de saída.
  • Invariants só em testes: invariante que não é monitorado em produção é wishful thinking.
  • Failure modes vagos: 'estava lento' não diz por que; C1 nomeia o failure mode na resposta a incidente.

Prática guiada

Reescreva cada bloco abaixo no padrão C1 de vocabulário de sistemas complexos.

  1. Backpressure: troque 'a fila está cheia' por 'a fila aplicou backpressure ao produtor'.
  2. Saturation: troque 'o sistema está no limite' por 'estamos em saturação; métrica X em Y%'.
  3. Fan-out: cite o número de chamadas e o impacto em latência.
  4. Coupling + cohesion: cite os dois juntos; um sem o outro é metade do diagnóstico.
  5. Invariants: nomeie a propriedade e diga como ela é monitorada em produção.
  6. Consistency model: nomeie o modelo, não só 'é consistente'.
  7. Failure modes: nomeie o failure mode (cascade, thundering herd, split brain) na resposta a incidente.

Resumo

Vocabulário C1 de sistemas complexos usa backpressure (sinal ao produtor), saturation (estado, precursor de incidente), fan-out (com número e impacto), coupling + cohesion (juntos), invariants (monitorados em produção), consistency models (nomeados), e failure modes (cascade, thundering herd, split brain). Sem essas palavras, a conversa é vaga; com elas, é precisa.

Vocabulário

Palavras principais

9 itens
backpressuresinal de um consumidor ao produtor para desacelerar

The queue applied backpressure to the producer.

A fila aplicou backpressure ao produtor.
saturationestado em que o sistema está no limite da capacidade

The database is at 95% CPU; we are in saturation.

O banco está a 95% de CPU; estamos em saturação.
fan-outuma requisição gerando N chamadas para outros serviços

The service fans out to inventory, payment, and fraud.

O serviço faz fan-out para inventário, pagamento e fraude.
couplingdependência entre serviços

High coupling makes independent deploy hard.

Alto coupling torna difícil o deploy independente.
cohesioncoesão — quanto um serviço tem responsabilidade única

Low cohesion makes testing hard.

Baixa coesão torna os testes difíceis.
invariantpropriedade que o sistema sempre mantém

'Invariant: a user cannot have a negative balance.'

'Invariante: um usuário não pode ter saldo negativo.'
cascade failurefalha em cascata — uma falha derruba várias

The cascade started when the payment service slowed.

A cascata começou quando o serviço de pagamento ficou lento.
thundering herdmuitas requisições simultâneas após retry

The retries caused a thundering herd that overwhelmed the system.

Os retries causaram um thundering herd que sobrecarregaram o sistema.
split brainnós discordam porque a rede particionou

Split brain caused both nodes to think they were the primary.

Split brain fez ambos os nós acharem que eram o primário.

História

História: Complex systems vocabulary

Nível: C1

História em inglês

Naming the failure mode in the incident response

On Tuesday, we had a 30-minute incident on the checkout service. I named the failure mode in the postmortem: the cascade started when the payment service slowed, causing the queue to back up, triggering retries that overwhelmed the system. I described the saturation: the database was at 95% CPU; we were in saturation before the incident. I named the fan-out impact: the checkout fans out to inventory, payment, and fraud; the slow payment service added 200 ms to every checkout. I added a backpressure plan: the queue will apply backpressure to the producer before saturation, and we will add a 5% error rate alert. The VP said: thank you for naming the failure modes; we can now design against them.

Tradução linha por linha

InglêsTradução
On Tuesday, we had a 30-minute incident on the checkout service.Na terça, tivemos um incidente de 30 minutos no serviço de checkout.
I named the failure mode in the postmortem: the cascade started when the payment service slowed, causing the queue to back up, triggering retries that overwhelmed the system.Eu nomeei o failure mode no postmortem: a cascata começou quando o serviço de pagamento ficou lento, fazendo a fila acumular, disparando retries que sobrecarregaram o sistema.
I described the saturation: the database was at 95% CPU; we were in saturation before the incident.Eu descrevi a saturação: o banco estava a 95% de CPU; estávamos em saturação antes do incidente.
I named the fan-out impact: the checkout fans out to inventory, payment, and fraud; the slow payment service added 200 ms to every checkout.Eu nomeei o impacto do fan-out: o checkout faz fan-out para inventário, pagamento e fraude; o serviço de pagamento lento adicionou 200 ms a cada checkout.
I added a backpressure plan: the queue will apply backpressure to the producer before saturation, and we will add a 5% error rate alert.Eu adicionei um plano de backpressure: a fila vai aplicar backpressure ao produtor antes da saturação, e vamos adicionar um alerta de 5% de taxa de erro.
The VP said: thank you for naming the failure modes; we can now design against them.A VP disse: obrigada por nomear os failure modes; agora podemos desenhar contra eles.

Notas de vocabulário

  • the cascade started when the payment service slowed = failure mode nomeado: cascade.
  • we were in saturation before the incident = saturation como precursor, não como evento.
  • fans out to inventory, payment, and fraud; added 200 ms = fan-out com número e impacto.
  • the queue will apply backpressure to the producer = backpressure como sinal, não estado.
  • thank you for naming the failure modes = maturidade C1: vocabulário preciso evita debates.

Perguntas de compreensão

  1. O que é backpressure em C1?
  2. O que é saturation?
  3. Por que coupling e cohesion vêm juntos?

Prática com a história

  1. Descreva um cascade failure em C1.
  2. Dê um exemplo de invariant e diga como ela é monitorada em produção.
  3. Descreva fan-out com número e impacto em C1.

Prática

Exercícios e teste

Próxima etapa
3blocos de exercícios disponíveis neste tema
10questões de teste para revisar depois da aula

A próxima melhoria é transformar esses arquivos em perguntas com resposta no navegador. Por enquanto, esta página já organiza o estudo e permite seguir a aula inteira sem abrir os arquivos manualmente.