ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

CacheCloud 工单(Job)体系全解析:从申请提交到管理员审批的完整运维闭环

CacheCloud 工单(Job)体系全解析:从申请提交到管理员审批的完整运维闭环 后端运维【免费下载链接】cachecloud搜狐视频(sohu tv)Redis私有云平台 支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本提升资源管控能力和利用率。平台提供快速搭建/迁移运维管理弹性伸缩统计监控客户端整合接入等功能。(CacheCloud is a Redis cloud management platform. It supports Standalone, Sentinel, and Cluster architectures for Redis, effectively reducing large-scale Redis operation and maintenance costs, and improving resource management and utilization. The platform provides rapid construction/migration, operation and maintenance management, elastic scaling, statistical monitoring, client integration and access and other functions)项目地址https://gitcode.com/gh_mirrors/ca/cachecloud点击查看免费下载CacheCloud 是搜狐视频开源的 Redis 云管理平台其「工单Job」模块是平台安全运维的核心闸门用户提交名下应用的各类运维申请管理员完成驳回/处理/通过后一条工单流程才算闭环。本文以 工单功能文档 为主线结合 AppAudit 实体、AppAuditType 类型枚举、AppCheckEnum 状态枚举 及 AppController、AppManageController 中的实现代码系统讲解「我的申请」入口、十类可创建工单的操作方式以及工单在后台从入库到审批的完整数据流帮助读者掌握 CacheCloud 工单申请与审批的实战技能。一、工单体系总览申请-审批双视角CacheCloud 提供完善的工单申请-审批流程用户可以提交自己名下相关应用的工单申请由管理员驳回/处理、通过后一条完整的工单流程执行完毕。整个工单体系围绕两个视角展开视角入口职责用户申请人「我的申请」查看工单列表、创建各类工单、跟踪处理状态管理员审批人「工单审批」auditList查看审批汇总、通过/驳回申请、分配资源、处理后续操作管理员侧的完整处理说明可参见 工单审批文档它与本文的用户侧视角互为补充共同构成工单模块的完整操作手册。1.1 我的工单申请/处理情况一目了然点击「我的申请」进入工单列表界面界面分为上下两部分上方为工单申请/处理情况汇总下方为每条工单的具体记录展示申请类型、申请时间、状态、处理人等字段。工单状态分为四种待审、已受理、通过、驳回工单被受理后列表会显示对应的处理人便于申请人与审批人之间责任追溯。从源码看这一页面对应 AppController.doAppJobs其核心是调用appService.getAppAudits(4, type, null, currentUser.getId(), null)即按当前登录用户 ID过滤出该用户提交的全部工单并以AppAuditType[]构建类型映射供页面展示。1.2 状态机待审 → 已受理 → 通过/驳回工单状态由 AppCheckEnum 定义是一个四态整数状态机状态值枚举含义界面显示0APP_WATING_CHECK等待审批待审2APP_ALLOCATE_RESOURCE受理/分配资源完毕已受理处理中1APP_PASS审批通过通过-1APP_REJECT审批驳回驳回工单实体 AppAudit 中的getStatusDesc()将状态值映射为「等待审批 / 审批通过 / 驳回」等可读文案并通过getTypeDesc()将类型值映射为工单类型的中文描述。二、创建工单十类运维申请一次讲透点击「创建工单」按不同类型分为申请应用、应用导入、数据清理全库清理/删除数据、下线应用、数据迁移、诊断应用、键值分析、扩容/缩容、修改应用配置、修改报警。这些类型在 AppAuditType 中一一对应是工单落库时的type字段取值类型值枚举说明对应创建工单0APP_AUDIT申请集群应用申请1APP_SCALE集群容量变更扩容/缩容2APP_MODIFY_CONFIG集群修改配置修改应用配置3REGISTER_USER_APPLY用户注册注册用户申请管理员侧4INSTANCE_MODIFY_CONFIG实例修改配置修改应用配置实例级5APP_MONITOR_CONFIG全局报警配置修改修改报警6KEY_ANALYSIS键值分析键值分析7FLUSHALL_DATA清理数据数据清理全库清理/删除数据8APP_DIAGNOSTIC应用诊断诊断应用10APP_OFFLINE应用下线下线应用11APP_MIGRATE应用数据迁移数据迁移12APP_IMPORT应用导入导入应用13SCAN_CLEAN数据分析清理数据分析清理a. 应用申请APP_AUDIT用户需要申请开通 Redis 实例时通过本工单提交。CacheCloud 支持Standalone、Sentinel、Cluster三种架构的开通申请申请表单中需要按不同类型填写对应的节点/容量信息。管理员审批通过后进入部署流程不同架构的部署细节可参考 运维手册-应用部署。b. 导入应用APP_IMPORT若用户在接入 CacheCloud 之前已有自建的 Redis 实例可通过「导入应用」工单将现有实例导入平台进行集中管理。提交时需要提供实例信息实例 IP、端口、密码等与申请容量。从源码看导入工单的提交走 doAppImportSubmit先创建AppDesc应用描述与AppImport导入记录并入库再以type AppAuditType.APP_IMPORT.getValue()、param1 appImport.getId()的方式写入一条AppAudit工单随后重定向到工单列表/admin/app/jobs。导入的 5 个步骤操作详见 运维功能-应用导入。c. 数据清理FLUSHALL_DATA / SCAN_CLEAN数据清理分为全库清理与删除数据两种全库清理直接清空整个 Redis 实例的数据对应FLUSHALL_DATA删除数据按条件删除指定数据对应SCAN_CLEAN数据分析清理通过扫描后清理指定键。由于数据清理属于高危操作必须经过管理员审批确认后才可执行审批通过后平台会引导进入对应的清理工具界面如tabTagdeleteKey删除键工具。d. 下线应用APP_OFFLINE对无用的应用提交下线申请管理员审批通过后回收其占用的机器与资源。下线工单通过后系统会引导进入应用总览/manage/total/list?appParamappId进行后续下线操作。e. 数据迁移APP_MIGRATE将 Redis 数据从旧应用迁移到新应用适合新老应用交替场景。用户提交迁移申请后管理员在审批处理时跳转到数据迁移界面执行实际迁移迁移完成后再点击「通过」完成工单。迁移工具的具体用法可参考 运维手册-数据迁移。f. 诊断应用APP_DIAGNOSTIC提交应用诊断工单管理员可据此对应用开展问题诊断包括扫描 key、诊断 BigKey/HotKey、集群 slot 分析等。诊断任务的底层实现位于 diagnosticTask 任务包其中包含AppBigKeyTask大键扫描、AppHotKeyTask热键分析、AppIdleKeyTask空闲键分析、AppScanKeyTask扫描键、AppSlotAnalysisTaskslot 分析等一系列诊断任务类。g. 键值分析KEY_ANALYSIS用户申请分析应用的BigKey / 过期键 / 键值分布等情况管理员点击「分析」后平台会发起键值分析任务流并展示分析结果。对应的后台执行任务为 AppKeyAnalysisTask。h. 扩容/缩容APP_SCALE当应用容量不足或过剩时用户提交扩容/缩容申请对应APP_SCALE集群容量变更。扩容通常分为垂直扩容调整单实例最大内存上限水平扩容新增 Redis 节点格式为masterIp:memSize:slaveIp并迁移 slotCacheCloud 支持 slot 断点续传能力。i. 修改应用配置APP_MODIFY_CONFIG / INSTANCE_MODIFY_CONFIG用户希望对当前 Redis 配置做调整时提交本工单可修改应用级配置APP_MODIFY_CONFIG或实例级配置INSTANCE_MODIFY_CONFIG表单中填写需要修改的配置项与配置值即可。j. 修改报警APP_MONITOR_CONFIG用户可申请调整应用的报警阈值与报警配置对应APP_MONITOR_CONFIG全局报警配置修改。管理员审批通过后报警配置即生效后续告警将按新配置触发。三、后台数据流工单如何从表单变成记录用户在前端表单填写的内容最终都会封装进AppAudit工单记录。以通用工单提交接口为例submitJobApplication映射/job/submit的入参为参数含义落库字段appId目标应用 ID无应用时为 -1appIdnodeInfos节点信息如迁移/扩容涉及的节点param1并拼入info描述jobType工单类型即AppAuditType的值typereason申请原因拼入info申请原因: reasonparam其他扩展参数param2并拼入info描述其核心逻辑是以当前登录用户为申请人userId/userName组装申请原因与节点/参数信息写入info工单状态初始化为AppCheckEnum.APP_WATING_CHECK.value()即 0待审同时写入创建/修改时间最后调用appAuditDao.insertAppAudit(appAudit)完成落库。AppAudit实体完整承载了一条工单的全部信息基础信息id、appId、userId、userName、operateId处理人、type类型扩展参数param1、param2、param3三个预留参数供不同工单类型存放节点信息、导入记录 ID 等结构化数据审批信息status状态、refuseReason驳回原因、createTime、modifyTime关联信息taskId审批通过后生成的执行任务 ID、appDesc应用描述、appAuditLog审批日志。四、管理员审批通过、驳回与后续跳转管理员在工单审批列表中处理每一条申请核心入口为 doAddAuditStatus映射/manage/app/addAuditStatus处理逻辑如下更新审批状态调用appService.updateAppAuditStatus(appAuditId, appId, status, appUser)将工单置为通过1或驳回-1记录驳回原因若状态为APP_REJECT将表单填写的refuseReason写入工单并持久化邮件通知通过或驳回时调用appEmailUtil.noticeAppResultWithApplyUser(...)/noticeAuditResult(...)通知申请人审批结果按类型跳转后续流程不同类型的工单通过后进入不同的处理界面APP_DIAGNOSTIC诊断→ 诊断工具界面/manage/app/tool/indexAPP_OFFLINE下线→ 应用总览/manage/total/list?appParamappIdFLUSHALL_DATA清库→ 删除键工具/manage/app/tool/index?tabTagdeleteKeyAPP_MIGRATE迁移→ 数据迁移界面/data/migrate/initAPP_IMPORT导入→ 导入应用界面/import/app/init?importIdparam1。也就是说审批通过不是终点对于导入、迁移、清理、下线等需要实际执行操作的工单管理员会在跳转后的工具界面完成真实操作最后回到工单列表点击「通过」整条工单流程才真正执行完毕——这也正是「由管理员驳回/处理、通过后一条完整的工单流程执行完毕」的完整含义。五、工单功能在 Wiki 体系中的位置工单功能是 CacheCloud Wiki 文档中「功能function」板块的重要组成部分与其配套的文档还包括工单审批管理员视角覆盖工单类型总览、开通应用、应用导入、扩容申请、数据迁移、数据清理、应用诊断、配置修改、注册用户申请、键值分析等审批操作应用部署Standalone / Sentinel / Cluster 三种架构的开通部署细节应用导入5 步完成 Redis 实例到 CacheCloud 应用的导入数据迁移新老应用间数据迁移的工具与流程。结合这些文档与本文介绍的源码实现即可完整掌握 CacheCloud 工单体系从「用户提交申请」到「管理员审批处理」的端到端链路前端十类表单功能文档→ 后台AppAudit记录入库AppController→ 四态状态机流转AppCheckEnum→ 审批通过后按类型分流执行后续运维操作AppManageController从而在保证操作可追溯、权限可控的前提下实现大规模 Redis 集群的标准化运维管理。赞分享后端运维【免费下载链接】cachecloud搜狐视频(sohu tv)Redis私有云平台 支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本提升资源管控能力和利用率。平台提供快速搭建/迁移运维管理弹性伸缩统计监控客户端整合接入等功能。(CacheCloud is a Redis cloud management platform. It supports Standalone, Sentinel, and Cluster architectures for Redis, effectively reducing large-scale Redis operation and maintenance costs, and improving resource management and utilization. The platform provides rapid construction/migration, operation and maintenance management, elastic scaling, statistical monitoring, client integration and access and other functions)项目地址https://gitcode.com/gh_mirrors/ca/cachecloud点击查看免费下载相关推荐蓝鲸PaaS Operator Webhook机制3道CRD校验防线与默认值填充源码解析蓝鲸PaaS Operator Webhook机制3道CRD校验防线与默认值填充源码解析 蓝鲸智云 PaaS blueking paas是腾讯开源的 Pa后端云原生微服务前端企业应用开发者门户Flutter 提交权限体系全解从 Contributor Access 申请到 Dashboard、LUCI 与评审团队Flutter 提交权限体系全解从 Contributor Access 申请到 Dashboard、LUCI 与评审团队 本文基于 Flutter 官方仓库跨平台移动开发前端UI组件桌面应用feizhiyun/jumpserver 工单系统权限申请与审批流程feizhiyun/jumpserver 工单系统权限申请与审批流程 概述 在企业IT运维环境中权限管理是确保系统安全的关键环节。JumpServer作为开后端认证鉴权身份认证应用安全运维单点登录上一篇SmartDNS IPv6过渡方案DNS64配置与测试下一篇代码对齐终极指南JetBrains Mono如何用排版规则消除视觉噪音创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进