# Calendário da Poc Kafka # Início 26/02/2024 as 13:00 #### Instalação do kafka, node, mongo, Oracle Express, Java, Sistema Será Criado em Java, #### Instalação kubernetes, docker, Container #### Configuração do Linux WSL, os kubernetes funcionando no Linux #### Início da Configuração do Open Shift (Não testei) #### Inicei a instalação, mas irei fazer o ambiente com kubernetes minikube e kubectl por enquanto. #### Esse ambiente irei receber em Funcionamento #### Sem teste não roda nada - Início do Projeto - Etapa Criação do gateway para autenticação e Validação do Usuário em Mock em Funcionamento, já listando com autenticação e gerando um token jwt. - etapa varrer o banco de dados para o Login com gravação no mongodb o back está todo sendo feito com node JS. - feito --> Done - hoje login com Kafka do Projeto - Espero Começar a Validar com disparo de 2000 usuarios amanhã via kafka Consumer e Producer com NodeJs. - Vamos para a validação Técnica do que foi feito (Apresentação e validação na parte da tarde 200.000 indo no banco) - Amanhã vou configurar e codar, para que na parte da tarde já esteja funcionando todos esses passos indo até o banco mongodb, gravação,listagem, consumo, volumetria até 100000 usuários irei testar,dentro dessa Poc criação uma api para o gateway, criação do producer e consumer, Autenticação do Usuário, Teste para verificar a volumetria do kafka 100.000. - (quinta) Integração e ponto de checagem dos dados o Java Tecsidel . - Conversão Oracle e Java o que foi feito no ambiente com NodeJs - Primeira Etapa acredito na Sexta já esteja funcionando todo o projeto listado acima com Kafka-Java-Oracle até sexta-feira ... Somente Back. ## Container com minishift e com kuberctl ## Ambiente do Minishift ```cmd= # power shell versão 7.4 winget install --id Microsoft.Powershell --source winget $PSVersionTable.PSVersion winget install -e --id Kubernetes.kubectl # or scoop install kubectl # winget install --id Microsoft.Powershell.Preview --source winget kubectl version --client -- Download kubernetes power shell do windows curl.exe -LO "https://dl.k8s.io/release/v1.29.2/bin/windows/amd64/kubectl.exe" choco install kubernetes-cli ``` ## Segunda _ inserir e modificar para o ambiente onPremises, Integração do Projeto por containers oc - (sex)Verificar o login com oc, autenticação com oc - (sex)Verificar o prompt da aws de comandos com oc da aws, teste ### Montar o ambiente de integração no Open Shift - Ambiente de dev (sex) - ambiente de qa (sex/aprovação/seg) - ambiente de homol (sex/aprovação/seg) - ambiente de produção (sex/aprovação/seg) ### Ambiente estando pronto, faze um do ambiente buscar os prontos de consumo, os campos, - Consumo do Tecsidel - Checagem das tabelas e criação das tabelas do sistema Tecsidel e backOffice Suat - Teste dos Proxys - Dados do Ambiente de dev replicados e testados com o Eduardo até o Aceite Ok - Teste de Integração - Verficação ou criação do Ambiente Kafka no Servidor - Dados do Tecsidel Integração com a Poc, check de velocidade, Velocidade do que está em Prod, versus o da Poc - Teste de escalabilidade - Início da Programação dos testes do Producer versus Consumer - início da Programação do Producer, replicando os dados do tecsidel, Código do Java 17 utilizando Kakfka do OC. - início da Programação do Consumer, replicando os dados do tecsidel, Código do Java 17 utilizando Kakfka do OC. - início da Programação do Producer, replicando os dados do back-office, Código do Java 17 utilizando Kakfka do OC. - Teste de Escalabilidade - Início do Consumer dos dois Tópicos - Desenvolvimento Log com Grafana ou que melhor se adequar a velocidade e ambiente dos containers com aws. - Sistema de Kafka Com Desenvolvimento Centralizado em Logs - Utilização de dois bancos de dados para tudo que chega no sistema gravação assíncrona no mongodb. Para Checagem - Sistema de Kafka com Disparo de Producer e Consumer, Ponto de checagem de escape dos Dados, verificação da entrega. Garantia do funcionamento não pode ter nenhuma quebra no sistema criado, verificação dos erros, utilização ou do Servless ou utilização - programação assíncrona em todos os processos para ganho de velocidade - OBS--> Itens abaixo Ainda não decidido para não esquecer - sidecar , Command Query Responsibility Segregation (CQRS), Saga Pattern** - Centralizado em logs, dois banco de dados, containers, Saga ou Serverless ou Lambda - Testes de Integração Homol, testes de Escalabilidade, teste de Stress (aqui é para tentar derrubar o sistema com volumetria no máximo, rodar o projeto as 7:00e 18:00, 12:15 Horário de pico nos free Flow, testar com a integração em prod, a integração não pode ser sempre, buscando o projeto em homol) - Depois dos testes em Homol estressados - Testes no Aws nossa em Homol e consumo somente do sistema em Prod - Verificar a volumetria, e o que alterou no sistema ?, o que alterou no sistema em log ?, verificar o que não tinhamos visto, pessoal de fora do projeto, pessoal que não está pensando no projeto, de fora, pessoas de negócio para testes consumindo o sistema em prod ... read somente - Antes Validar, A poc não pode de forma nenhuma reduzir a velocidade e algo em produção, deve dar mais opções e aumentar a velocidade, aumentar a cobertura de testes, aumentar a produtividade do sistema ? - Passos com Stake Holders do Projeto Definição do Pronto com Eduardo/Ruth/OC e Aws. - **Ci/Cd dinâmico de toda esteira, acredito aws codepipeline já fará isso. aws code deploy ** - **Muitos dos Recursos que estão na sequência deverão ser atendidos, pode se reduzir nos recursos de programação, de forma ao projeto ganhar velocidade, somente para isso** - Nenhum teste será retirado e a importância de outra visão de programação, na criação do microservices. - Se o Sistema vai servir de Base "foco" em teste, executar sempre o projeto, irei rodar os testes para execução. #### **Objetivo do projeto é verificar como se comporta o Kafka na Integração, o que agregar ao projeto e o que não agregar ao projeto retirar enquanto está fazendo esse estudo de caso, não esquecer o que for retirado quando estiver sendo programado na vida real, registrar na documentação de falha**. #### **Ex: que pelo caminho do serverless para verificação dos logs não está sendo eficaz em suas verificações, redução do tempo do scheduler apontar na documentação, soluções arquitetadas** ![image](https://hackmd.io/_uploads/BJyumoihp.png) ## Comunicação entre os sistemas ![image](https://hackmd.io/_uploads/rklt_Ess2a.png)