Eu gostaria de criar um sistema que lida com mensagens de alerta de vários programas e possa processar esses alertas para consumidores de baixa velocidade por email. Tudo isso estaria contido em uma rede interna.
Eu acho que quero que a arquitetura básica fique assim:
A principal preocupação que tenho atualmente é o bit "Message Handler", que será o meu "tipo de API". Desejo que todos os componentes deste sistema enviem dados para a API, que lida com todas as gravações no banco de dados. Eu acho que essa abordagem é mais fácil porque simplifica a segurança e permite que eu contenha muitas das consultas de banco de dados mais complicadas em um único programa.
A preocupação é que eu queira que isso seja independente da linguagem - o que significa que qualquer código deve poder enviar mensagens para o meu manipulador - que as interpretará. Espero fazer isso via arquivos simples JSON - ou via chamadas REST para o programa (dando flexibilidade aos aplicativos de downstream).
Minha pergunta é-
Devo me preocupar com o manipulador de mensagens - ou acrescentaria simplicidade para permitir apenas o acesso direto ao banco de dados dos aplicativos de downstream, bem como dos outros dois componentes (Console de Gerenciamento e Alert Manager)?
Dessa forma, eles podem inserir qualquer alerta que desejarem - desde que o INSERT na (s) tabela (s) do banco de dados seja válido.
Não sou designer de software por profissão, então com licença - só quero que um projeto seja realizado no meu tempo livre.