Sobre o projeto

O Cadence Workflow é uma plataforma de código aberto (desde 2017) para construir e executar workflows escaláveis, tolerantes a falhas e de longa duração. Este repositório contém o mecanismo de orquestração central, juntamente com ferramentas de suporte, incluindo uma CLI, utilitários de gerenciamento de esquema, ferramentas de benchmark/teste de estresse e workflows de verificação de saúde canary. Arquitetura: O backend do Cadence consiste em vários serviços, um banco de dados (Cassandra, MySQL ou PostgreSQL) e, opcionalmente, Kafka com Elasticsearch. Os usuários implantam um worker contendo sua implementação de workflow e, uma vez que o backend e os workers estejam em execução, os workflows podem ser acionados via SDKs ou pela CLI. Primeiros Passos: A maneira mais rápida de executar o Cadence localmente é via Docker Compose (`docker compose -f docker/docker-compose.yml up`). Receitas de exemplo estão disponíveis para Go e Java. Uma interface web está acessível em localhost:8088 para visualizar históricos de workflows e rastreamentos detalhados. Para implantações Kubernetes, o KubeStellar Console fornece uma instalação guiada passo a passo usando o chart Helm oficial de cadence-charts, incluindo verificações pré-implementação, validação, solução de problemas e suporte a rollback. Bibliotecas de Cliente: SDKs oficiais estão disponíveis para Go e Java. SDKs mantidos pela comunidade existem para Python e Ruby. O framework iWF também pode ser usado como uma camada DSL sobre o Cadence. CLI: A CLI do Cadence é uma ferramenta poderosa para operar workflows, listas de tarefas, domínios e clusters. Os comandos são organizados por abas (por exemplo, workflow -> batch -> start, ou admin -> workflow -> describe). As opções de instalação incluem Homebrew (`brew install cadence-workflow`), imagens Docker ou compilação a partir do código-fonte. A CLI também inclui ferramentas de esquema para SQL e Cassandra. UI: A interface web do Cadence (disponível em localhost:8088 quando executado com Docker Compose) fornece uma interface visual para visualizar e gerenciar workflows. Ferramentas Adicionais: O repositório inclui ferramentas de benchmark/teste de estresse, ferramentas periódicas de verificação de saúde de recursos (canary) e ferramentas de gerenciamento de esquema para bancos de dados SQL e Cassandra. Os arquivos de esquema estão localizados em /usr/local/etc/cadence/schema/ quando instalados via Homebrew. Comunidade: O Cadence faz parte do ecossistema CNCF. Os canais da comunidade incluem GitHub Discussions, GitHub Issues, StackOverflow e o canal #cadence-users no Slack da CNCF. O projeto é licenciado sob Apache 2.0.