1. Visão Geral
Este documento de design detalha a adoção de uma arquitetura de microsserviços para a aplicação AlgaSensors, monitoramento de sensores, composta por três serviços:
- Device Management
- Temperature Monitoring
- Temperature Processing
A arquitetura de microsserviços permite escalabilidade, resiliência, manutenção e desenvolvimento independentes para cada capacidade de negócio.
2. Objetivos
- Escalabilidade Independente: Permitir a escalabilidade individual de cada serviço com base na sua carga de trabalho específica.
- Isolamento de Falhas: Garantir que problemas em um serviço não afetem os demais.
- Desenvolvimento e Implantação Independentes: Acelerar o ciclo de desenvolvimento e permitir implantações contínuas e independentes.
- Manutenibilidade: Facilitar a manutenção e evolução de cada serviço com código altamente coeso e específico.
3. Descrição dos Serviços
3.1 Capacidades de Negócio Mapeadas
Foram identificadas e mapeadas duas principais capacidades de negócio para a aplicação AlgaSensors:
- Gestão de Sensores:
- Envolve o cadastro, configuração e gerenciamento dos sensores, garantindo que todos os dispositivos sejam registrados, ativados, desativados e atualizados de forma centralizada.
- Serviço Relacionado: Device Management Service.
- Monitoramento de Temperaturas:
- Envolve a coleta, processamento, armazenamento e análise dos dados de temperatura recebidos dos sensores, além da geração de alertas e relatórios históricos.
- Serviços Relacionados: Temperature Processing Service e Temperature Monitoring Service.
A abordagem para a criação dos microsserviços foi baseada na divisão por capacidade de negócio. No entanto, no caso do Temperature Processing Service, houve uma divisão adicional por motivos técnicos para garantir que o processamento de dados em tempo real fosse eficiente e escalável, separando-o do Temperature Monitoring Service, que foca na análise e armazenamento de dados.
3.2 Serviço de Device Management
Descrição: Responsável pela Gestão de Sensores, este serviço cuida do cadastro, configuração e gerenciamento remoto dos sensores.
- Funcionalidades Principais:
- Cadastro de sensores
- Gerenciamento remoto de sensores