A solução de agendamento distribuído ElasticJob é uma solução de agendamento distribuído para o ecossistema da Internet e tarefas massivas. Consiste em dois subprojetos independentes, ElasticJob-Lite e ElasticJob-Cloud. Ele usa agendamento flexível, gerenciamento e controle de recursos e funções de gerenciamento de trabalho para criar uma solução de agendamento distribuído adequada para cenários da Internet e fornece um ecossistema de trabalho diversificado por meio de design de arquitetura aberta. Cada um de seus produtos usa uma API de trabalho unificada, e os desenvolvedores só precisam desenvolvê-la uma vez e implantá-la à vontade.
O uso do ElasticJob permite que os engenheiros de desenvolvimento não se preocupem mais com requisitos não funcionais, como melhoria linear do rendimento das tarefas, permitindo que eles se concentrem mais no design de codificação orientado aos negócios, ao mesmo tempo, também pode liberar os engenheiros de operação e manutenção; não precisa mais se preocupar com a disponibilidade de tarefas e. Para necessidades de gerenciamento relacionadas, a operação e manutenção automatizadas podem ser alcançadas simplesmente adicionando nós de serviço.
1. Agendamento flexível
Suporte à fragmentação de tarefas e alta disponibilidade em cenários distribuídos
Capacidade de dimensionar horizontalmente o rendimento de tarefas e a eficiência de execução
Os recursos de processamento de tarefas podem ser dimensionados de forma elástica com a alocação de recursos
2. Alocação de recursos
Atribua os recursos certos às tarefas no momento certo e torne-as eficazes
As mesmas tarefas são agregadas ao mesmo executor para processamento unificado
Aloque dinamicamente recursos adicionais para tarefas recém-atribuídas
3. Gestão do trabalho
failover
Trabalho perdido reexecutado
reparo de autodiagnóstico
4. Dependências de trabalho (TODO)
Dependências entre trabalhos baseadas em gráfico acíclico direcionado (DAG)
Dependências entre fragmentos entre trabalhos com base em gráfico acíclico direcionado (DAG)
5. Ecologia de empregos abertos
Interface unificada extensível para tipos de trabalho
Biblioteca rica de tipos de trabalho, como fluxo de dados, script, HTTP, arquivo, big data, etc.
Fácil de conectar às operações de negócios e pode ser perfeitamente integrado com injeção de dependência Spring
6. Terminal de controle visual
Terminal de controle de trabalho
Rastreamento de dados do histórico de execução de trabalho
Gestão do centro de registro
Java
Use Java 8 e superior.
Guardião do Zoológico
Use ZooKeeper 3.6.0 e superior.
Mesos (usado apenas pelo ElasticJob-Cloud)
Use Mesos 1.1.0 e compatível.