- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Redis的改造和实践
高峰@nice
自我介绍
Redis的改造
Redis分布式平台
全新的Redis数据结构xset
Redis分布式平台
项目背景
1、前期经过了一轮快速且粗放式的发展
2、上百台机器、近千个实例,对集群管理的效率提出新的要求
3、业务数据的快速增长,使得集群扩容不是很低频的事件
4、官方和开源都没有经受过考验的分布式实现
Twemproxy+Redis的问题
Twemproxy是一个性能优异的proxy,但存在一些局限性
没有集群管理的功能,当集群规模较大时,运维复杂度显著提升
不方便水平伸缩
设计思路
中心节点
vs
去中心化
固定slot
vs
可变slot
slot粒度迁移
vs
key粒度迁移
架构解析
Metaserver介绍
平台的中心模块,它维护平台的配置信息、拓扑结构、 数据分布映射等
负责发起集群的数据迁移、主从切换等任务
在线的数据访问不需要经过metaserver
redis-server和redis-proxy通过lvs与metaserver连接
基于redis进行改造
Redis介绍
数据被固定的分成了2w份slot,每个redis分片持有一些slot
支持数据按照slot粒度进行迁移
与metaserver定时维持心跳
基于redis进行改造
Proxy介绍
proxy缓存slot与分片的映射关系,重启或连接断开都会重新与metaserver进行数据同步
proxy与metaserver维持一个pub/sub模式,集群的拓扑、数据分布等信息发生变化时,metaserver会实时通知给proxy
支持读写分离、流控、白名单等中间件通用功能
基于twemproxy进行改造
数据迁移
数据迁移
metaserver对迁移过程有时间限制,超过指定时间没有收到反馈,则取消本次迁移
数据迁移过程中,需要对指定slot进行锁写操作,读操作不受影响
迁出slot的实例只有在metaserver正确的响应他的迁移完成操作后,才会flush掉之前的slot
数据迁移失败可能导致数据重复,会通过其它任务进行修正
上线半年的数据
100+应用
500+机器
2000+实例
400亿+/天流量
遗留的问题
metaserver并不是强一致的
redis实例的离线判断,没有引入多方仲裁。自动的主从切换还有风险
slot迁移需要锁写,还可优化
Redis数据类型xset
基于zset实现,增加限定长度信息
当xset里面的数据达到限定长度,再进行add时,会按照指定规则删除数据。这个操作为原子操作
为一组数据的热点数据提供cache的功能
Redis的实践
redis.conf是非常好的运维文档
不要放过每一次出问题的机会,重视积累
Cache vs 持久化存储
Redis更适合Cache的场景
Redis做为持久化存储有一些先天缺陷
在持久化的应用中,Redis更适合要求低延迟、高并发的场景
AOF vs RDB
AOF提供更新的数据,RDB提供更快的恢复速度
Rewrite AOF和RDB Dump频率不要过高,尽量在低峰时操作,建议外部控制
Redis的单进程特性
避免大value、元素过多的value出现
单机多实例,充分利用CPU的多核
单实例数据不要过大(5G-10G为宜)
Redis主从同步
根据业务需要,设置合适的同步buffer大小
避免业务写高峰的时候加从
主从非强一致,切换会导致丢数据
master如果没有开启AOF或RDB时,禁止自动重启
Proxy很重要
帮助redis隔绝外面复杂的业务环境
提供流控、白名单等功能
无状态、易扩展,可为运维增加丰富的功能
跨机房部署
同城跨机房,延迟较低,对Redis的部署不会构成太大挑战
异地跨机房
1、主从同步buffer适当加大
2、建议多个集群,异步多写
监控
进程、端口、CPU、内存、网卡、Swap
连接数、QPS、命中率等(Redis Info)
Ping、Slowlog
谢谢
您可能关注的文档
最近下载
- 专题01 定语从句100题(考点串讲)(word版有答案).docx VIP
- 凿井井架设计汇编.doc VIP
- 北京某电力隧道工程投标施工组织设计.doc VIP
- 《【阅读专题2】故物与深情:感受血缘中的亲情》教学课件.pptx VIP
- 人教版九年级英语 课文标注笔记 全册.pdf VIP
- 北京某电力隧道工程(投标)施工组织设计.pdf VIP
- 高压旋喷桩技术交底1 - 桩基础.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 《【阅读专题1】忠与孝:体会宗法社会的伦理选择之难》教学课件 (1).pptx VIP
- 力普LP100说明书PDF_Image_Marked.pdf VIP
文档评论(0)