对海量业务予以支撑的,是具备百TB 级存储、以及拥有数十万节点的自建 Redis 集群,可这也造成了资源调度方面的挑战且呈现出运维效率的影响处于双重状态。在不致使服务出现中断这种情形的前提底下 ,如何能够持续不断地去提升集群所具备属性中的性能以及自动化维度处在技术应用里那种水平 ,这已然变成了技术团队必须要去解决的核心性质的问题。
当前的集群运用 ECS 单机多实例模式,并且把 Proxy 跟数据节点进行混合性部署,这一设计能够让 CPU 资源利用率提高 30%以上,然而与此同时也带来了资源竞争方面的风险,借助对机器资源以及负载均衡器开展标签化管理,系统能够依据业务重要程度把不同的集群分隔到特定的资源池,重保集群运用更为保守的水位阈值,以此来减少运维的频次。
内存使用率、内存分配率以及CPU使用率这三个维度,资源调度引擎是支持按其进行自动均衡的。某台ECS的内存分配率一旦超过设定的阈值,系统就会自动去挑选合适的目标机器来开展节点迁移。凌晨时段,支持针对隐患机器做主动下线以及资源重组,整个过程对于业务而言是完全透明的。
ConfigServer身为集群当中元数据管理的核心部分,在多个可用区去部署节点,借由Raft协议来保障强一致性。哪怕某个可用区出现网络故障,其余节点依旧能够正常开展leader选举,保证集群拓扑信息不会丢失。每一个写请求都得要超过半数节点予以确认,这既保障了数据安全,同时又回避了单点故障? 这既是一句完整的话,最后一句是对前面内容的总结,所以用“?”表示,希望这能按照你的要求改写句子。
有着协议转换职责的Redis - Proxy组件,同时承担着流量路由职责 ,它完整支持RESP协议 ,能使业务方如同访问单机Redis那般使用分布式集群。ConfigServer会动态维护Proxy与后端server实例的映射关系 ,当集群出现扩缩容时或故障切换时 ,Proxy会自动感知到此情况并更新路由表 ,连接池内的客户端连接不会受到影响。
业务向集群提交申请工单,且该工单通过审批之后,系统会自动去判断是不是符合自建的条件。符合条件的那种情况之下的申请,将会触发全自动的部署流程,这个流程涵盖了去进行资源分配,去生成配置,去启动节点,去初始化集群,去校验可用性,整个交付的时间被压缩到了分钟这个级别。部署完成以后,集群的连接信息能自动推送给业务方,并不需要人工去进行介入。
垂直方向上的扩缩容以及分片形式的水平扩展,都已经达成了工单的自动化处理。在进行业务提单操作的时候,系统便会预先给出扩容的方案以及影响方面的评估,在确认之后会自动去执行。当集群的容量超过了预警水位线的百分之八十时,自动扩容的机制会在夜间启动垂直扩容的操作,业务不会有任何的感知。这样的一种能力极大程度地降低了因为流量突然增加而导致的容量风险,特别适用于无人值守的时段。
迁移动态节点的挑选属于整个调度系统的关键决策部分,系统具备多维度筛选功能,它能按照资源标记、CPU实际承担负载量、可用区域、是否为重保等条件去综合过滤目标机器,迁移任务会产出流程图,运维人员能够查看处在每一台机器上所部署的节点具体详情及实时监控数据,从而便于进行追溯和审计。
物理资源隔离机制借助给 ECS 机器打标签达成重保集群的单独部署,不同集群间不共同使用物理机,防止了资源争夺以及故障蔓延,这种隔离策略还支撑分级维护与灰度测试,新版本先于普通集群验证,稳定后再向重保集群推广 ,资源池的整体利用效率由此得以提高,同时减少了变更风险。
此刻,除了需求描述类工单之外,其余所有操作类工单都已然达成自动化,这其中涵盖了实例创建、密码申请、权限变更、架构升级、版本升级、水平扩容、大key删除、实例下线等十多种场景。每一个工单在执行之前都会开展前置校验,执行完毕之后会自动校验结果,一旦出现异常便会触发回滚。
覆盖大 key 的巡检体系,涉及热 key,包含集群混用和成本等多个维度。系统每日依据业务域扫描存量大 key,把巡检的结果推送至对应的业务群,支持黑名单管理以此避免重复告警。热 key 信息进行实时推送,助力业务方迅速定位访问热点。夜间还引入了自动化巡检以及故障重启机制,在机器宕机时能够自动尝试恢复,进而减少夜间人工介入成本。
有命令查询、Key模糊查询以及随机采样等功能,这些是集群控制台所提供的。查询结果是支持JSON格式化的,并且支持一键复制,如此方便研发人员去调试以及定位问题。对于特殊场景之下的key,是支持按照集群维度、key维度以及前缀维度来配置黑名单的,从而能够灵活地应对各类业务需求。
Redis集群借助不断构建平台自动化运维体系,达成了全生命周期管理的规范化以及标准化,下一步重点会置于智能预测调度与成本优化方面,凭借历史负载数据来预先判断资源瓶颈,进而降低闲置资源所占据的比例,自动化告警处理覆盖度也会从现有的水平朝着100%推进。
哪个环节是你针对进行自建Redis集群的自动化运维时最为关注的呢?欢迎于评论区去分享讲出你的实践经历以及所遭遇碰到的挑战,同时也千万不要忘记去点赞而后转发出去,从而能够使数量更多的同行得以看见这一份关于技术方面的干货哦。

相关标签: # Redis自动化运维 # 得物技术 # 集群管理 # 资源调度 # 告警处理