同时,如果混部的其他服务是网络吞吐很高的应用,也可能对Redis服务造成影响 。虽然K8s的 anti-affinity 功能可以将Redis实例有选择地部署到没有这类应用的机器上,但是在机器资源紧张时,还是无法避免这种情况 。
Redis Cluster管理Redis Cluster是一个P2P无中心节点的集群架构,依靠gossip协议传播协同自动化修复集群的状态,节点上下线和网络问题都可能导致Redis Cluster的部分节点状态出现问题,例如会在集群拓扑中出现failed或者handshake状态的节点,甚至脑裂 。对这种异常状态,我们可以在Redis CRD上增加更多的功能来逐步解决,进一步提高运维效率 。
审计与安全Redis本身只提供了Auth密码认证保护功能,没有权限管理,安全性较差 。通过Proxy,我们可以通过密码区分客户端类型,管理员和普通用户使用不同的密码登录,可执行的操作权限也不同,这样就可以实现权限管理和操作审计等功能 。
支持多Redis Cluster单个Redis Cluster由于gossip协议的限制,横向扩展能力有限,集群规模在300个节点时,节点选主这类拓扑变更的效率就明显降低 。同时,由于单个Redis实例的容量不宜过高,单个Redis Cluster也很难支持TB以上的数据规模 。通过Proxy,我们可以对key做逻辑分片,这样单个Proxy就可以接入多个Redis Cluster,从客户端的视角来看,就相当于接入了一个能够支持更大数据规模的Redis集群 。
最后,像Redis这种有状态服务的容器化部署在国内大厂都还没有非常成熟的经验,小米云平台也是在摸索中逐步完善 。目前我们新增集群已经大部分部署在K8s上,更计划在一到两年内将集团内大部分的物理机Redis集群都迁移到K8s上 。这样就可以有效地降低运维人员的负担,在不显著增加运维人员的同时维护更多的Redis集群 。
【小米Redis的K8s容器化部署实践】
推荐阅读
- 张国全回应小米10音量问题:调音配置没变,或是用户心理因素所致
- 北京环球影城是干嘛的 北京环球影城需要人脸识别吗
- 怎么让狗狗坐下以后不乱动 怎么让狗狗听话的让他坐下就坐下
- 支持ChargerTurbo快充,小米首款PD充电器+充电宝新物种深度拆解
- 小米移动搜索中的AI技术
- 小米有品上架599元投影仪:2万小时寿命 可投120英寸
- 如何找到被删除的微信支付记录?
- 电饭煲煮饭的时候可以蒸红薯吗 电饭煲蒸红薯要放水吗
- 空调sync键是什么功能 空调sync是什么模式
- 微信“拍一拍”,是张小龙的产品经理式浪漫
