如何完整保存网站并做修改,黄骅网站建设公司,计算机类哪个专业前景好,网页设计实训报告参考文献1.DophineScheduler的架构 ZooKeeper#xff1a; AlertServer#xff1a; UI#xff1a; ApiServer#xff1a;
一个租户下可以有多个用户#xff1b;一个用户可以有多个项目一个项目可以有多个工作流定义#xff0c;每个工作流定义只属于一个项目#xff1b;一个租户可…1.DophineScheduler的架构 ZooKeeper AlertServer UI ApiServer
一个租户下可以有多个用户一个用户可以有多个项目一个项目可以有多个工作流定义每个工作流定义只属于一个项目一个租户可以被多个工作流定义使用每个工作流定义必须且只能选择一个租户一个工作流定义可以有一个或多个定时的配置一个工作流定义对应多个任务定义一个工作流定义可以有多个工作流实例一个工作流实例对应一个或多个任务实例Ps此处的那个心跳机制是Hadoop的一种机制他是维护master节点和slave节点的一种机制每过一段时间呢slave节点就发送一个心跳让master知道他还活着默认五分钟发送一次心跳可以自定义且当它1%的心跳失去的话就进入安全模式在此模式下只能进行元数据的读取不能处理数据netty详见一篇文章看懂Netty框架 - 知乎现在笔者还有些迷惑 MasterServer 采用分布式无中心设计理念MasterServer主要负责 DAG 任务切分、任务提交监控并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点通过监听Zookeeper临时节点变化来进行容错处理。 MasterServer基于netty提供监听服务。DistributedQuartz分布式调度组件主要负责定时任务的启停操作当quartz调起任务后Master内部会有线程池具体负责处理任务的后续操作。MasterSchedulerService是一个扫描线程定时扫描数据库中的t_ds_command表根据不同的命令类型进行不同的业务操作。WorkflowExecuteRunnable主要是负责DAG任务切分、任务提交监控、各种不同事件类型的逻辑处理。TaskExecuteRunnable主要负责任务的处理和持久化并生成任务事件提交到工作流的事件队列EventExecuteService主要负责工作流实例的事件队列的轮询StateWheelExecuteThread主要负责工作流和任务超时、任务重试、任务依赖的轮询并生成对应的工作流或任务事件提交到工作流的事件队列FailoverExecuteThread主要负责Master容错和Worker容错的相关逻辑 WorkerServer WorkerServer也采用分布式无中心设计理念WorkerServer主要负责任务的执行和提供日志服务。 WorkerServer服务启动时向Zookeeper注册临时节点并维持心跳。 WorkerServer基于netty提供监听服务。 该服务包含 WorkerManagerThread主要负责任务队列的提交不断从任务队列中领取任务提交到线程池处理TaskExecuteThread主要负责任务执行的流程根据不同的任务类型进行任务的实际处理RetryReportTaskStatusThread主要负责定时轮询向Master汇报任务的状态直到Master回复状态的ack避免任务状态丢失 DMLdata manipulation language是数据操纵语言它们是SELECT、UPDATE、INSERT、DELETE就象它的名字一样这4条命令是用来对数据库里的数据进行操作的语言。 DDLdata definition language是数据定义语言DDL比DML要多主要的命令有CREATE、ALTER、DROP等DDL主要是用在定义或改变表TABLE的结构数据类型表之间的链接和约束等初始化工作上他们大多在建立表时使用。 DCLDataControlLanguage是数据库控制语言是用来设置或更改数据库用户或角色权限的语句包括grant,deny,revoke等语句。 该服务包含 WorkerManagerThread主要负责任务队列的提交不断从任务队列中领取任务提交到线程池处理TaskExecuteThread主要负责任务执行的流程根据不同的任务类型进行任务的实际处理RetryReportTaskStatusThread主要负责定时轮询向Master汇报任务的状态直到Master回复状态的ack避免任务状态丢失ZooKeeper服务系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。另外系统还基于ZooKeeper进行事件监听和分布式锁。 我们也曾经基于Redis实现过队列不过我们希望DolphinScheduler依赖到的组件尽量地少所以最后还是去掉了Redis实现。提供告警服务通过告警插件的方式实现丰富的告警手段。API接口层主要负责处理前端UI层的请求。该服务统一提供RESTful api向外部提供请求服务。系统的前端页面提供系统的各种可视化操作界面。