Coder Social home page Coder Social logo

nono-task-dispatcher's Introduction

nono-task-dispatcher

基于zookeeper的分布式定时任务调度系统

设计背景

在分布式环境下,为做到负载均衡,应用常常会部署到多台机器上,但是有些程序只需要在同一时刻,只在其中的某一台执行一次就可以了(例如大量的定时任务),这些会影响机器水平扩展,为了更好的面向SOA,解决定时任务的分布式调度问题,提高系统的可维护性,可扩展性,我们需要面临解耦任务调度和具体的任务执行。大多数定时任务都是使用quartz框架的,方便,但是面临框架的整合和依赖,无法做到解耦,通过分布式调度系统,我们可以实现定时任务的热更改(不停机改变定时任务的周期等),任务的均衡分布到各调度机器上,很好的做到分布式调度和软件解耦,而且能够对定时任务执行情况、调度机器进行简单监控。

#功能对象

User:负责可视化展示

admin:处理前台任务管理请求

zookeeper:存放具体任务计划,新增、删除、修改任务均对应为zookeeper节点变化,任务分配和具体调度

scheduler:解析任务计划,调用具体任务执行服务,更新任务状态、持久化任务状态信息

worker:具体任务执行逻辑,暴露restful服务的url给scheduler,(具体的业务实现)

#核心数据结构

SchedulerTask(entity):zookeeper数据节点维护的对象

nono-task-dispatcher's People

Contributors

chinaer avatar

Watchers

James Cloos avatar Jackey avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.