写点什么

演讲预告:大规模运营 Redis 的经验 @京东

  • 2014-03-10
  • 本文字数:1611 字

    阅读完需:约 5 分钟

在 2013 年的 QCon 上海云计算分会场,京东云平台首席架构师刘海锋介绍了京东自主研发的分布式存储 – 京东文件系统(JFS),以及基于JFS 的统一数据中心存储策略。除了分布式存储之外,刘海锋的团队同时也负责开发一套分布式内存存储平台(RAM store platform),这套自主研发的快速分布式KV 存储系统可兼容Redis 数据类型、提供多租户统一服务、固有的集群模式、弹性可扩展、同步复制协议、常驻但不受限于内存、更强的持久性、更低的运维与硬件成本。

在2014 年的QCon 北京大会,刘海锋将根据他们开发这套系统的经验,分享大规模运营Redis 的经验,自研系统的设计思路,以及京东在数据存储方面的技术体系。InfoQ 中文站在会前对刘海锋进行了一次采访,邀请他对存储、Redis 等方向分享自己的观点。

嘉宾简介

刘海锋( @刘海锋 0011 ),京东系统技术部负责人、云平台首席架构师、以及京东架构委员会负责人。他领导存储、缓存、消息、服务框架团队,致力于打造坚实的系统技术平台,稳定支持京东业务的高速发展。

InfoQ:先谈谈你对存储系统、云存储、文件系统、数据库这一块当前发展趋势的看法吧。

刘海锋:数据量越来越大,业务需求也在增多。互联网业务后台需要不同的数据抽象——object/file/kv/tables……但多租户统一管理、服务化是重要的趋势。比如,给各个业务提供全托管的 RDBMS 服务、缓存服务、海量非结构数据存取服务,而不是上线一个业务就申请一些机器搭建存储。

InfoQ:用内存存储一般都是因为业务对读写性能有极高的要求。京东大规模内存存储平台现在主要服务于哪些业务?这些业务对读写的要求是什么样的?

刘海锋:非常多的在线业务都需要高速的缓存。比如每次京东购物下单、商品价格展示等等。

InfoQ:Redis 在官网上的定义是“高级 KV 存储系统”,特点在于速度快、数据结构丰富。你如何定义 Redis 这套系统?

刘海锋:高质量的开源软件。使用方便,速度快,数据类型丰富。用得最多的是 string, hashmap 两种。

InfoQ:基于 Redis 进行二次开发的过程中,有哪些需要避开的坑?有哪些是比较好的实践?

刘海锋:Redis 是高质量的开源软件。准确地说,是高质量的单机 KV 内存存储 server。但是要大规模应用到生产环境,需要做很多工作来满足公司业务需求。

最早是部署使用单个 Redis 实例,然后主从复制,集群分片,支持 presharding 的 Java 客户端,进而完善监控体系、配置中心,逐渐建设了一个平台来统一托管整个公司的 Redis 集群。

InfoQ:Redis 持久化如果持续进行磁盘写入会造成进程阻塞,这个问题如何解决?

刘海锋:RDB dump 其实是 fork 出一个子进程做的,写入并不会阻塞父进程。但是 fork 操作的执行开销较高,会 block 父进程不能及时响应请求。持久化方式是由各个业务自行选择的,有的选择没有持久化,有的选择 AOF,有的是 RDB 但是 dump 时间也是设置好的,比如凌晨几点等等。

InfoQ:是否研究过目前在 Alpha 版本的 Redis Cluster,有什么发现?

刘海锋:当然调研和测试过 Redis Cluster,现在还不是 production ready,所以我们在按照自己的方式搞定集群模式。

InfoQ:对于京东内存存储平台,下一步的开发计划是什么?

刘海锋:从今年年初开始,我们团队正在研发和实施京东的下一代内存存储平台 - JimStore。简单地说,JimStore 自主研发的分布式系统(dataserver 基于 Redis),实现多租户统一管理的、弹性扩展的 Redis 集群。

技术方面,分步骤做了一些事情:

通过分布式选举做精确的故障检测;自动的故障切换;增加磁盘存储,较冷数据会淘汰至磁盘,这样单实例就支持更大的数据量;自主研发集群模式,实现容量的透明扩展;整个平台多租户服务。

距第六届 QCon 全球软件开发大会(北京站)2014 开幕仅剩一个半月,大会演讲嘉宾已经几近确认完毕。大会的演讲内容在官网: http://www.qconbeijing.com ,以及 InfoQ 微博、微信公众帐号的最新播报: @InfoQ 、【infoqchina】不断更新。大会 9 折折扣期将在本月 26 日截止。如欲报名报请速点击报名页面

2014-03-10 00:115837

评论

发布
暂无评论
发现更多内容

青云云原生沙龙线上集结,找到属于你的云原生实践之路!

青云技术社区

喜大普奔 | FinClip Hackathon 2022 结果宣布, Top3 项目出炉!

FinClip

JavaScript类型转换

源字节1号

FinClip 前端之 VUE 核心原理总结

FinClip

代码重构,真的只有复杂化一条路吗?

华为云开发者联盟

代码 代码重构 过度设计 代码设计

飞书、钉钉和企微的三巨头之争下,其他厂商在移动平台赛道如何奋起直追?

BeeWorks

许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

OpenHarmony开发者

OpenHarmony 开发者故事

盲盒APP开发的六大功能模式基础设置

WDL22119

盲盒商城 盲盒 盲盒开发 盲盒小程序开发 小程序开发

520,用Python定制你的《本草纲目女孩》

华为云开发者联盟

Python 华为云 modelarts 本草纲目女孩 MoXing

比渗透测试更有用,红队演练该如何开展?

青藤云安全

31点经验分享与吐槽

老白鹿

Wallys/QCN9074 WiFi Card/ IPQ6010/IPQ6018/ 802.11ax

wallys-wifi6

ipq6018

最优的纯文本模型?GPT-4蓄势待发

OneFlow

人工智能 模型 预测 openai

这知识点真细,Python获取HTTP响应头和响应体

梦想橡皮擦

5月月更

thinkphp 中 fetch 方法怎么用

CRMEB

涛思数据与中天钢铁签署战略合作协议,加速钢铁行业的数字化发展

TDengine

数据库 tdengine

预约直播|阿里云CDP 产品发布会

阿里云大数据AI技术

CDP 产品发布

What? 从小程序反向生成App?!

FinClip

Seata 企业版正式开放公测

阿里巴巴云原生

阿里云 开源 云原生 seata

使用 jMeter 对需要 User Authentication 的 Restful API 进行并发负载测试

汪子熙

Java Jmeter 性能测试 SAP 5月月更

如何在 Web 应用里消费 SAP Leonardo 的机器学习 API

汪子熙

机器学习 前端开发 前端框架 SAP 5月月更

Wallys/2.5Gbps Ethernet Port Support OpenWRT Support:QUECTEL /RM500Q-GL&Support:

wallys-wifi6

wifi6 openwrt

部署在Azure上的SAS Viya可为客户带来204%的投资回报率

E科讯

【直播回顾】OpenHarmony知识赋能第五期第五课——多媒体子系统之视频解读

OpenHarmony开发者

OpenHarmony 多媒体

Google Guava中EventBus使用不当会导致什么故障?

BUG侦探

kafka Guava EventBus

SUSE Rancher v2.6.5 社区版核心功能解读

Rancher

Kubernetes k8s rancher NeuVector

520,解锁开发者的专属浪漫

葡萄城技术团队

情人节 520

FinClip SaaS 版上线啦

FinClip

年薪80W,在大厂呆了10年的我,被裁得心服口服

博文视点Broadview

架构实战营 第 6 期 模块六课后作业

火钳刘明

#架构实战营 「架构实战营」

业务逻辑的灵魂在哪里?

清林情报分析师

数据分析 数据建模 数据可视化 分析软件 分析思维

演讲预告:大规模运营Redis的经验@京东_QCon_sai_InfoQ精选文章