写点什么

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

评论

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

前端常考react相关面试题(一)

helloworld1024fd

React

IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货

Bug终结者

Java static 8月月更

2022前端秋招vue面试题

helloworld1024fd

Vue

长达四年的减肥记录

Amazing_eve

#开源

手写柯里化 - toString 理解

掘金安东尼

JavaScript 前端 函数式 8月月更

面试点:Java 中 hashCode() 和 equals() 的关系

TimeFriends

8月月更

导火索:OAuth 2.0四种授权登录方式必读

知识浅谈

8月月更

克服项目管理中恐惧心理

踏雪痕

项目管理 8月月更

STM32+ULN2003驱动28BYJ4步进电机(根据圈数正转、反转)

DS小龙哥

8月月更

【LeetCode】最大层内元素和Java题解

Albert

LeetCode 8月月更

动态内存开辟(C语言)

孤衫

编程语言 C语言 动态内存 8月月更

DFINITY 基金会创始人谈熊市沉浮,DeFi 项目该何去何从

TinTinLand

区块链

入门 Polkadot 平行链开发,看这一篇就够了

One Block Community

区块链

《MySQL入门很轻松》第2章:MySQL管理工具介绍

乌龟哥哥

8月月更

高质量 DeFi 应用构建指南,助力开发者玩转 DeFi Summer

TinTinLand

区块链

深入理解 Istio 流量管理的超时时间设置

万猫学社

云原生 istio envoy Istio流量管理

告白数字化转型时代:麦聪软件以最简单的方式让企业把数据用起来

雨果

数字化转型

Go编译原理系列6(类型检查)

书旅

Go 源码 后端

牛刀小试基本语法,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本语法和变量的使用EP02

刘悦的技术博客

golang 语言 语言 & 开发 教程分享 #go

企业的数字化转型到底是否可以买来?

雨果

数字化转型

JS逆向入门学习之回收商网,手机号码简易加密解析

梦想橡皮擦

Python 爬虫 8月月更

创建一个 Dapp,为什么要选择波卡?

One Block Community

区块链

全国独家 | 上海线下面授大规模敏捷LeSS认证 | 2022年12月8-10日

ShineScrum

less 大规模敏捷 LeSS认证 大规模敏捷LeSS

语音社交软件开发——充分发挥其价值

开源直播系统源码

软件开发 直播系统源码 语音聊天

区块链或者智能合约开发的 5 种最佳编程语言

devpoint

区块链 以太坊 8月月更

Discourse 清理存储空间的方法

HoneyMoose

开源一夏|OpenHarmony如何查询设备类型(eTS)

坚果

开源 HarmonyOS OpenHarmony 8月月更

mysql进阶(二十七)数据库索引原理

No Silver Bullet

MySQL 聚集索引 8月月更 非聚集索引 覆盖索引

数据中台建设(十):数据安全管理

Lansonli

大数据 数据中台 8月月更

电竞、便捷、高效、安全,盘点OriginOS功能的关键词

Geek_2d6073

【数据挖掘概论】数据挖掘的简单描述

晴天

8月月更

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