GH GambleHub

Sinais entre nós

1) Conceito de sinal

Sinal é a unidade mínima de comunicação de sentido na rede, evento, pedido, confirmação, status, limite, política. Diferentemente do pacote «cru», o sinal tem semântica (tipo, esquema, contexto, invariantes) e garantias (entrega, ordem, idempotidade).
Os objetivos são reduzir a conectividade dos serviços, acelerar a resposta às mudanças, tornar a rede controlada e observável.

2) Taxonomia de sinais

Eventos: factos sobre o que aconteceu (Created, Updated, Sensled, Slashed).
Comando (Command): intenção de executar a ação (Mint, Pause, RotateKey).
Pedido de resposta (Query/Reply): obtenção de status/agregação.
Estado (State Snapshot): instantâneas periódicas (limites, quotas, configs).
Alert/Incidentes (Alert): desvios, degradações, violações da SLA.
治理/Politiki (Governance/Policy): opções de tarifas, limites, versões.
Domínios cruzados (X-Chain/X-Domain): transferência de permissões/mensagens entre correntes/zonas de confiança.

Cada classe é fixada por um esquema (ID de versão, campos obrigatórios, invariantes).

3) Modelo de mensagem

Composição mínima:
  • `signal_id` (ULID), `causality_id` (trace/span), `ts`, `ttl`
  • `type` (namespace:version), `schema_hash`
  • 'producer _ id', 'domain', 'auth _ proof' (assinatura/VC/ZK)
  • 'qos' (classe), 'retries', 'attempt'
  • `payload` (CBOR/JSON/ProtoBuf), `crc`
  • 'idempotency _ key' (entidade empresarial)

4) QoS e classes de entrega

Q0 Fire-and-Forget: sem confirmação (telemetry, métricas).
Q1 At-Least-Once: Retraí, Dedup no receptor, Idempotação.
Q2 Exactly-Once (eficiente): entrada idumpotente + deadup + outbox transacionado/inbox.
Q3 Ordered: preserva a ordem de partilha (keyed partitioning).
Q4 Priority/Deadline: prioridades e deadline (EDF/LLF) para comandos críticos.

Solução: padrão Q1 + idempotidade; Q3 - para fluxos com causalidade; Q4 para avary/治理.

5) Ordem, causabilidade e idepotência

As chaves de causalidade são 'aggregate _ id', 'version', 'prevv _ hash'.
Outbox/InBox-Pattern: fixação transacional do evento e envio.
Hendlers idempotentes: preserva 'idempotency _ key' em 'seen place' + upsert.
Reconciação: cruzamentos periódicos de snapshots e logs (repair jobs).
Limites de retrações/TTL: proteção contra repetições «eternas» e à deriva do estado.

6) Controle de fluxo e backpressure

Quotas e tokens: leaky/bucket, rate-limit por tipo/consumidor.
Contrato de frequência/tamanho: batch size, window, max-in-flight.
Políticas Drop/Degrade: Telemetria de revisão de sobrecarga; O Q4 importante não é drenado.
Justiça: WFQ/DRR Planeamento de Filas.
Adaptabilidade: controladores PID: O aumento do atraso → reduzir a janela.

7) Transporte e pneu

O pneu local de eventos é Kafka/Pulsar/NATS/Redis Streams.
Consultas sincronizadas: gRPC/HTTP2 para Query/Reply, Time e Circuito Breakers.
Canais de domínios cruzados: IBC/CCIP tais camadas, releitores com fianças, confirmação comprovada.
Edge/POP: tampões locais e releitura em core.

8) Segurança dos sinais

Autenticação: mTLS/OIDC para S2S; mensagens assinadas (EdDSA/secp256k1).
Autorização: ABAC/RBAC em topics e tipos de sinal; RNFT direitos/limites.
Integridade: hasteamento/processamento de batches, revistas imutáveis.
Privacidade: campos em ZK/criptografia de campos (FPE para vazamentos parciais).
Anti-Frod, assinaturas comportamentais, tráfego de mel, verificações estoquásticas.

9) Observabilidade e rastreamento

Correlação: trace-id/span-id em cada sinal, editoras de passagem.
Métricas: p50/p95 latency por tipo, sucess rate, timeout/reties%, DLQ depth, consumer lag.
Logs de política: quem, quando, o que mudou (治理/limity), assinaturas e difs de configs.
Alertings: orçamento de erro SLO; amostras sintéticas para rotas críticas.
DLQ/Replay: filas mortas, reprocess com proteção contra suplentes.

10) Circuitos e versionização

Schema Registry: evolução de campos (back/forward compatível), tipos semver.
Função flags: ativação gradual de campos/lógica.
Contratos de compatibilidade: testes «produtor antigo ↔ novo consumer» e vice-versa.
Migrações: dual-write/dual-read, topics espelhados, planos sunset.

11) Políticas de Retrações e Deduplicação

Retrai: atraso exponencial + jitter, máximo de tentativas, quarantine após o limiar.
Deadup: armazenamento das últimas chaves 'N' para a partitura ou para os filtros bloom; Gravações TTL.
Anti-tempestade: eventos em grupo ACK/NACK, coalescing (debounce/aggregate).

12) SLA/SLO para sinais

Exemplo de SLO alvo (por classe):
  • Q4: p95 ≤ 200 ms, sucesso ≥ 99. 99%, DLQ = 0, MTTR incidente ≤ 15 min
  • Q3: p95 ≤ 500 ms, sucesso ≥ 99. 9%, perturbação da ordem ≤ 10⁻⁶/soobshcheniye.
  • Q1: sucesso ≥ 99. 5% pela janela T, p95 ≤ 1-2 s.

Error budet: excesso de valor → download automático de velocidades, inclusão de prioridades, bandeira de degradação Fiech.

13) Sinais de cadeia cruzada (cartoon)

Provas de evento: light-cliente/state proofs em vez de «confiança no relator».
Finalidade: Contagem de atrasos de finalização de domínio, cadeados temporários (challenge period).
Garantia econômica: S-fiança de releitores, slashings por confirmação falsa.
Idempotidade X-Domain: global 'x _ msg _ id', tabelas seen nas duas extremidades.
Políticas de saída: torneiras paradas, limites de volume/tempo, quórum manual nos ataques.

14) Anti-colusão e abuso

Sinais de falsificação: strong auth + detector comportamental de anomalias.
Os ataques de réplica são nose/TTL e chaves de uma só vez.
Auditoria de correlação, amostras cegas, multas por erro sistemático.
Farming eventos: tarifação de qualidade (classe Q), rate limits por entidade.

15) Playbook de implementação

1. Mapeamento de domínios e tipos de sinal. Definir criteriedade (classe Q), proprietários, esquema.
2. Escolha de transporte e arquitetura topic. Particionamento por chave de causalidade.
3. Definição SLO/SLA. Orçamento de erros, alertas, tratamentos de emergência.
4. Security-by-default. Assinaturas, ABAC, rotação-chave.
5. Idempotidade e dedução. Outbox/InBox, seen-tables, TTL.
6. Backpressure. Quotas, janelas, prioridades, dashboards.
7. Schema Registry & versioning. Contratos de compatibilidade, matrizes de teste.
8. Observabilidade. Traçado E2E, amostras sintéticas, DLQ/Replay.
9. Piloto e game-days. Treino de incidentes, réplicas de logs reais.
10. Escala. X-domain, limites, torneiras paradas, pós-mortem públicos.

16) Métricas e dashboards

Desempenho: latency p50/p95/p99, throughput, consumer lag, in-flight.
Confiabilidade: sucess rate, retry%, DLQ depth, duplicate ratio.
Ordem: out-of-order%, reordering distance.
Economia: custo de processamento/mensagem, margem de classe, multas/incentivos.
Segurança: rate sinais suspeitos, fols positivo/negativo.
治理: Taxa de rotação de esquemas/políticas, proporção de upgrades de sucesso sem reversão.

17) Modelos de contrato/serviços

Sinal Gateway: validação, autenticação, normalização, priorização.
Schema Registry: armazenamento/validação de circuitos, compatibilidade.
Sinal de rotação por tipo/domínio, classes QoS, rate limits.
Idempotency Store: chaves, TTL, Dedup.
DLQ/Replay Service: quarentena, processamento adiado, réplicas pelas janelas.
X-Domain Relay: provas, fianças, slashing, finalidade.
Policy Hub: gerenciamento de limites/configurs, auditoria de alterações.

18) Folha de cheque pred pronto

  • Classes de QoS e SLO definidas para todos os tipos de sinal
  • Assinaturas incluídas, mTLS, rotação de chaves, ABAC
  • Configurado outbox/inbox, idumpotentes, deadup
  • Implementados rate limits, backpressure, prioridades
  • Introduzido Schema Registry, testes de compatibilidade, planos de tempo
  • Os dashboards disponíveis são latency/lag/DLQ, alertas de orçamento de erro
  • Incidentes trabalhados (game-days), réplicas, pós-mortem
  • Para X-domain estão incluídas provas, fianças e torneiras de pare

19) Glossário

QoS: Classe de garantia de entrega/prioridade.
Idempotency: reaproximação sem efeitos colaterais.
Backpressure: mecanismos que limitam a carga de carga na sobrecarga.
DLQ: fila «morta» para processamento incompleto.
Trace/Span: Identificadores de traçado de passagem.
X-Domain/X-Chain: rotas de sinal cruzados/cruzados.

O resultado é que os sinais bem projetados são o sistema nervoso da rede. Ao normalizar esquemas, garantias, segurança e observabilidade, o ecossistema recebe entrega previsível, resistência a falhas e evolução controlada sem ligações ocultas ou muletas manuais.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.