-
Notifications
You must be signed in to change notification settings - Fork 0
Decisão de SAGA Health&Med
Data: 2024-07-26
Status: Aceita
A Health&Med, uma startup inovadora no setor de saúde, está desenvolvendo um novo sistema que irá revolucionar a Telemedicina no país. Atualmente, a startup oferece a possibilidade de agendamento de consultas e realização de consultas online (Telemedicina) por meio de sistemas terceiros como Google Agenda e Google Meetings. Recentemente, a empresa recebeu um aporte e decidiu investir no desenvolvimento de um sistema proprietário, visando proporcionar um serviço de maior qualidade, segurança dos dados dos pacientes e redução de custos. O objetivo é criar um sistema robusto, escalável e seguro que permita o gerenciamento eficiente desses agendamentos e consultas. Além de conter as funcionalidades de agendamento e realização de consultas online, o sistema terá o diferencial de uma nova funcionalidade: o Prontuário Eletrônico. O Prontuário Eletrônico permitirá o armazenamento e compartilhamento de documentos, exames, cartão de vacinas, e outros registros médicos entre as partes envolvidas, garantindo maior assertividade nos diagnósticos.
Escolher a implementação para a transação de geração de links de teleconsulta no Google.
Opções Consideradas
- Saga Coreografada com Filas
- Saga Orquestrada com um Orquestrador Central
- Transações Distribuídas Tradicionais
Saga Coreografada com Filas foi escolhida por uma combinação de fatores que se alinham com as necessidades e objetivos do projeto:
- Desacoplamento: A saga coreografada permite que serviços se comuniquem de maneira assíncrona usando eventos e filas, reduzindo o acoplamento entre eles. Isso é essencial para um sistema modular e escalável, como o que a Health&Med está desenvolvendo.
- Escalabilidade: Utilizar filas permite escalar cada serviço independentemente, o que é crítico para o sistema suportar um grande número de agendamentos e consultas simultâneas sem gargalos.
- Resiliência: A abordagem coreografada aumenta a resiliência do sistema, pois cada serviço pode continuar a operar mesmo se outros serviços estiverem temporariamente indisponíveis, desde que as mensagens nas filas possam ser processadas posteriormente.
- Simplicidade de Implementação e Manutenção: Implementar uma saga coreografada com filas pode ser mais simples e menos propenso a erros comparado a uma abordagem orquestrada, onde um orquestrador central precisa gerenciar a lógica de compensação e a coordenação entre serviços.
- Desempenho: A comunicação assíncrona via filas pode melhorar o desempenho do sistema, evitando bloqueios e permitindo que os serviços respondam rapidamente às solicitações iniciais, enquanto processam operações de longa duração em segundo plano.
- Maior modularidade e flexibilidade no desenvolvimento e manutenção do sistema.
- Melhor capacidade de escalabilidade e resiliência.
- Processamento eficiente de operações assíncronas de longa duração.
Ações a Serem Tomadas
- Desenvolver e testar mecanismos de compensação para operações falhas.
- Configurar monitoração e alertas para filas e eventos para garantir a visibilidade e a saúde do sistema.