1.O que é Flink?
Flink é uma estrutura de computação de streaming que pode lidar com quantidades ilimitadas de dados e ser executada em um verdadeiro contexto em tempo real.
Flink é um mecanismo de processamento de fluxo distribuído, de alto desempenho, escalável e tolerante a falhas. Ele suporta processamento em lote e processamento de fluxo e fornece uma API e biblioteca ricas, tornando-o ideal para processamento de dados em tempo real.
2. Personagens principais
As principais funções no Flink são:
JobManager: responsável por receber trabalhos enviados e alocar tarefas, monitorar a execução de trabalhos e reatribuir tarefas quando um nó falha;
TaskManager: responsável pela execução real da tarefa, incluindo leitura de dados, conversão, cálculo e saída;
Cliente : o cliente que envia o trabalho, envia o trabalho ao JobManager e recebe os resultados da execução do trabalho.
3. Métodos de comunicação entre personagens
O melhor método de comunicação entre os atores do Flink são as mensagens assíncronas baseadas no Akka.
A comunicação entre JobManager e TaskManager é concluída através de passagem assíncrona de mensagens.
Quando o JobManager precisar enviar uma instrução ao TaskManager, ele encapsulará a instrução em uma mensagem e a enviará ao TaskManager e aguardará a resposta do TaskManager.
Após receber a mensagem, o TaskManager executará as instruções correspondentes e retornará os resultados da execução ao JobManager.
4. Indicadores que precisam ser monitorados
1. Execução do trabalho, incluindo hora de início do trabalho, tempo de execução, tempo de conclusão, etc.;
2. Uso de recursos do TaskManager