Eu tenho alguns eventos de aplicativos.
Eu quero que esses eventos sejam entregues em alguns lugares: um arquivo girado periodicamente (no formato TSV proprietário no meu caso), um barramento de mensagens (Kafka no meu caso), para arquivamento em um recurso de rede (Amazon Glacier no meu caso).
Eu tenho o que eu acho que deveria ser um problema muito fundamental. Eu quero que meus aplicativos apenas enviem os bytes que eles querem para alguns sumidouros, e tenham outro processo cujo trabalho é garantir que:
Eu gostaria de poder configurar o comportamento acima com alguns parâmetros simples para a quantidade de memória a ser alocada, o quanto é importante para uma determinada mensagem chegar ao seu destino (talvez o número de novas tentativas, etc.) .
Para mim isso soa como um problema geral bastante "básico" (difícil, sem dúvida, mas eu teria imaginado algo existente para isso). Eu quero escrever bytes em um soquete Unix ou algo dos meus aplicativos e fazer com que o agente seja responsável pelo buffering e pela nova tentativa de entregá-los aos meus destinos.
Existe tal coisa? É isso que as pessoas usam (r) syslog ou journald para?