Curso NATS Messaging System Fundamentals

  • DevOps | CI | CD | Kubernetes | Web3

Curso NATS Messaging System Fundamentals

16 horas
Visão Geral

O Curso NATS Messaging System Fundamentals é um treinamento prático que apresenta o NATS, um sistema de mensagens de código aberto escrito em Go, conhecido por sua leveza, alta performance e simplicidade. Ele explora os conceitos básicos do NATS, como publicação/assinatura (Pub/Sub), filas distribuídas (Queueing) e requisição/resposta (Request/Reply), bem como a configuração do servidor e o uso de bibliotecas cliente em linguagens populares. Os participantes aprenderão a instalar, configurar e integrar o NATS em aplicações, utilizando exemplos práticos em cenários de comunicação distribuída. Curso NATS Messaging System Fundamentals Estruturado, com 16 horas totais, combina teoria, demonstrações detalhadas e exercícios práticos para capacitar os alunos a implementar sistemas de mensagens com o NATS.

Objetivo

Após realizar este Curso NATS Messaging System Fundamentals, você será capaz de:

  • Compreender os fundamentos do NATS e seus padrões de mensagens (Pub/Sub, Queueing, Request/Reply).
  • Instalar e configurar um servidor NATS em um ambiente local ou em nuvem.
  • Utilizar bibliotecas cliente em linguagens populares (ex.: Go, Python, JavaScript) para interagir com o NATS.
  • Implementar comunicação assíncrona entre aplicações usando o NATS.
  • Monitorar e ajustar configurações básicas do servidor NATS.
Publico Alvo
  • Desenvolvedores que desejam implementar sistemas de mensagens em aplicações distribuídas.
  • Engenheiros DevOps explorando soluções leves para comunicação entre serviços.
  • Arquitetos de software projetando arquiteturas baseadas em mensagens.
  • Administradores de sistemas interessados em configurar servidores NATS.
  • Entusiastas de tecnologia buscando aprender sobre ferramentas de código aberto.
Pre-Requisitos
  • Conhecimento básico de programação em pelo menos uma linguagem (ex.: Go, Python, JavaScript).
  • Familiaridade com conceitos de redes (ex.: TCP/IP, portas).
  • Experiência com linha de comando (ex.: terminal Linux ou Windows) é recomendada.
  • Noções de sistemas distribuídos ou mensageria (ex.: RabbitMQ, Kafka) são desejáveis, mas não obrigatórias.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Dia 1 – Módulo 1: Introdução ao NATS

  • Tópicos:
    1. What is NATS? Sistema de mensagens open-source escrito em Go e sua arquitetura.
    2. Key features and benefits: Leveza, alta performance e suporte a múltiplas linguagens.
    3. Use cases and real-world applications: Microserviços, IoT, sistemas distribuídos.
    4. Comparison with other messaging systems: Kafka, RabbitMQ, Redis Pub/Sub.
  • Atividade Prática: Explorar exemplos de uso do NATS em cenários reais e discutir diferenças com Kafka.

Dia 1 – Módulo 2: Configuração Inicial do NATS

  • ​​​​​​​Tópicos:
    1. Installing NATS on Linux, Windows, and macOS: Via binário e Docker.
    2. Running a NATS server: Inicialização básica e verificação de status.
    3. Configuring basic settings: Ajustes em portas, logs e limites de mensagens.
  • Atividade Prática: Instalar o NATS em Docker, configurar portas personalizadas e iniciar o servidor.

Dia 2 – Módulo 3: Fundamentos de Mensageria com NATS

  • Duração: 4 horas
  • Tópicos:
    1. Understanding Publish-Subscribe pattern: Conceito e implementação no NATS.
    2. Working with NATS clients: Uso de bibliotecas em Go (nats.go), Python (nats.py), Java, etc.
    3. Exploring request-reply messaging: Comunicação síncrona entre serviços.
  • Atividade Prática: Criar um publicador em Python e um assinante em Go para Pub/Sub, e implementar um Request/Reply em JavaScript.

Dia 2 – Módulo 4: Recursos Avançados do NATS

  • Tópicos:
    1. Queue groups for load balancing: Configuração de filas para distribuir mensagens.
    2. JetStream for message persistence and streaming: Introdução à persistência de mensagens.
    3. NATS streaming vs. core NATS: Diferenças e casos de uso (nota: NATS Streaming é legado).
    4. Handling large-scale deployments: Limites e estratégias iniciais de escalabilidade.
  • Atividade Prática: Configurar um Queue Group e testar balanceamento, além de habilitar JetStream para persistir mensagens.

Dia 3 – Módulo 5: Segurança no NATS

  • Tópicos:
    1. Securing NATS communications: Princípios de segurança em sistemas de mensageria.
    2. Authentication and authorization strategies: Configuração de usuários e permissões.
    3. TLS and token-based authentication: Implementação de TLS e tokens no servidor.
  • Atividade Prática: Configurar autenticação com token e habilitar TLS no servidor NATS, testando com um cliente seguro.

Dia 3 – Módulo 6: Escalabilidade e Otimização de Performance

  • Tópicos:
    1. Clustering and superclusters: Configuração de clusters para alta disponibilidade.
    2. Load balancing strategies: Distribuição de carga em múltiplos nós.
    3. Performance tuning best practices: Ajustes de memória, conexões e throughput.
  • Atividade Prática: Criar um cluster NATS com dois nós e testar a replicação de mensagens entre eles.

Dia 4 – Módulo 7: Monitoramento e Solução de Problemas

  • Tópicos:
    1. Logging and metrics collection: Configuração de logs e endpoints de monitoramento (/varz, /connz).
    2. Integrating with monitoring tools: Introdução a Prometheus e Grafana com NATS.
    3. Debugging common NATS issues: Identificação e resolução de falhas de conexão.
  • Atividade Prática: Configurar logs, integrar o NATS com Prometheus e criar um dashboard básico no Grafana.

Dia 4 – Módulo 8: NATS em Ambientes Cloud-Native

  • ​​​​​​​Tópicos:
    1. Running NATS in Kubernetes: Implantação básica em um cluster Kubernetes.
    2. Deploying NATS in cloud platforms: Configuração em AWS, Azure ou GCP.
    3. Integrating NATS with other messaging systems: Visão geral de interoperabilidade (ex.: Kafka).
  • Atividade Prática: Implantar o NATS em Minikube, testar Pub/Sub em um Pod e simular integração com um serviço externo.
TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso FOCUS FinOps Introduction

8 horas

FOCUS (FinOps Open Cost and Usage Specification) Deep Dive

24 horas

Curso Microsoft MD-102T00 Microsoft 365 Endpoint Administrator

32 horas Curso Pratico

Curso Standardizing Cloud Billing Data using FOCUS

24 horas