引擎调度单元

    EDU 可以分为用户 EDU 和系统 EDU,分别代表执行用户任务的线程和执行系统任务的线程。EDU 的管理由 EDU 管理器完成,包括 EDU 的创建、监控、相互通讯及销毁等操作。

    系统 EDU 为系统内部维护数据结构及一致性的线程,一般来说对用户完全透明。 在 SequoiaDB 中,存在但不局限于下列系统 EDU:

    名称类型描述
    TCPListener服务监听该线程负责监听 svcname 服务,并启动 Agent 代理线程
    HTTPListenerHTTP 监听该线程负责监听 httpname 服务,并启动 Agent 代理线程
    Cluster集群管理集群管理线程用于维护集群的基本框架,启动 ReplReader 与 ShardReader 线程
    ReplReader复制监听复制监听线程负责由 replname 服务传入的请求,并启动 ReplAgent 代理线程
    ShardReader分区监听分区监听线程负责由 shardname 服务传入的请求,并启动 ShardAgent 代理线程
    LogWriter日志写日志写线程用于将日志缓冲区中的数据写入日志文件
    WindowsListenerWindows 事件监听Windows 环境特有,用于监听 Windows 中 SequoiaDB 定义事件
    Task后台任务处理后台任务处理线程,一般来说用于处理后台任务请求,例如:数据切分
    CatalogManager编目控制编目控制线程用于处理编目节点内部元数据相关的请求
    CatalogNetwork编目网络监听编目网络监听线程用于监听编目服务 catalogname 下的请求
    CoordNetwork协调网络监听协调网络监听线程用于监听分区的请求

    为了方便监控,每个 EDU 都存在一个当前状态,这些状态包括:

    • Running:运行状态,EDU 被激活且进入任务的正式处理流程中,处于该状态
    • Waiting:等待状态,运行阶段完成后,进入该状态
    • Destroying:销毁状态,EDU 正在被销毁

    用户可以使用会话快照监控系统与用户 EDU。