写点什么

演讲预告:大规模运营 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:115510

评论

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

用大数据分析了一线城市1000多份岗位招聘需求,告诉你如何科学找工作

程序员柠檬

Python 数据分析

带你学够浪:Go语言基础系列-环境配置和 Hello world

程序员柠檬

后台开发 Go 语言

云上基础产品之对象存储

韩超

对象存储 公有云 S3

关于 Windows 10 2020 年 5 月更新

FeiLong

带你学够浪:Go语言基础系列 - 8分钟学基础语法

程序员柠檬

程序员 后台开发 Go 语言

ARTS|Week 01 (2020第22周)

MiracleWong

算法 写作 ARTS 打卡计划

Prometheus 2.18.0 新特性

耳东@Erdong

Prometheus

程序猿邂逅相亲妹,默默无语两行泪

码农神说

程序员 相亲

程序员的晚餐 | 5 月 30 日 入梅天,来一盆小龙虾

清远

美食

直面一个复杂世界

史方远

读书笔记 个人成长 随笔杂谈

ARTS Week2

丽子

谈谈控制感(12):选择什么样的工作

史方远

读书笔记 个人成长 随笔杂谈

云上基础产品之虚拟私有云

韩超

公有云 VPC 虚拟私有云

一款霸榜 GitHub 的开源 Linux 资源监视器!

JackTian

GitHub Linux 开源 bashtop 资源监视器

你想活出怎样的人生

Janenesome

读书笔记 思考

架构之路

强哥

极客大学架构师训练营

JMM的前世今生

fkc_zyk

重排序 volatile happens-before JMM cpu

Python 进阶与核心技术 dict & set

Bonaparte

Python 极客时间

工作那么久,你还具备学习能力么?

punkboy

学习 程序员

除了直接看余额,谁更有钱还能怎么比(二)

石君

去中心 零知识证明

戒掉手机吧

鼎玉谷

人生 手机 时间 浪费 控制

云上基础产品之负载均衡

韩超

负载均衡 公有云

【摘】Git-从零单排 02期

卡尔

git 原理 开发工具 工具链

浅说Docker基础知识与核心原理

岿然独存5

Docker 软件 Go 语言

RocketMQ - 如何实现事务消息

Java收录阁

RocketMQ

遇事不决,请先 「搜索」

小匚

个人成长 职场 随笔杂谈

云上基础产品之内容分发网络

韩超

CDN 公有云 内容分发网络

Linux命令-df

一周思进

N皇后问题

孙苏勇

算法 DFS 深度优先搜索

Go: 使用GODEBUG改善Goroutine的使用

陈思敏捷

debug 协程 Go 语言

是什么奠定了架构师的职场地位?

刁架构

极客大学架构师训练营

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