BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

采访豌豆莢资深系统架构师刘奇
录制于:

| 受访者 刘奇 关注 7 他的粉丝 作者 臧秀涛 关注 4 他的粉丝 发布于 2015年3月21日 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点
04:26

个人简介 刘奇,前京东资深架构师,现任豌豆莢资深系统架构师。 Golang爱好者,对Golang有较深入的研究,国内最早一批将Golang用在大规模线上push服务的人员之一。擅长大规模,高并发 的分布式系统架构设计,对分布式缓存,数据库有一定的理解,目前负责豌豆莢分布式缓存,数据库平台系统的架构设计及开发工作。

全球架构师峰会(International Architect Summit,下简称ArchSummit)是由InfoQ中文站主办的一次全球性架构师峰会。ArchSummit专门针对架构师人群,讲述与架构和架构师相关的各方面趋势、技术和案例。这也是继QCon之后,InfoQ中文站主办的又一次高端技术盛会。

   

1. 大家好,今天很高兴邀请到豌豆荚资深工程师刘奇接受我们的采访。首先请您做一下自我介绍。

刘奇:大家好,我叫刘奇。现在是在豌豆荚这边做存储功能。我们存储主要分为两个队伍,一个是Storage和MySQL以及其他一些存储,另一个是以HBase为主。

   

2. 可以简单介绍一下你们的团队吗?从你们研发到新系统被运维体系接受,到业务线正式使用,大概是怎样的流程?

刘奇:我先说下我们团队的情况,我们团队目前是有六个人。有三个在HBase这边,有三个是分布式数据库。研发体系从刚开始到上线的流程大概是这样的,首先会做一个逆向,逆向完之后我们会发一个有关整个公司内部的技术架构设计,然后会与大家做一个review,接着我们会做一个开发的启动。

在过程中我们会去找第一个典型的业务,与典型的业务做接触,根据它的业务场景设计自己的测试。在开发完成之后,会做一个线上流量的回放,依靠这些把它的业务全部跑通,观测一段时间稳定之后再推到业务线上去,之后就是做更大规模的其他业务的灰度,或是更大规模集群的上线。

   

3. 关于代码重构,豌豆荚对这件事有没有整体的指导思想?比如说鼓励在什么样的节点上进行重构?

刘奇:其实重构是个好事情,对公司层面来说也是比较支持的,因为重构会让我们的代码变得更好。至于节点方面,其实是没有理想的重构节点的。一般重构都是比较痛苦的事情,实在是没法忍受了才会去干,但是如果有足够test的情况下,去做逐步的重构是可行的。通常情况下是在一个版本的间歇期,有一些足够的时间的时候去做会比较好一点。然后要有一个逐步重构的计划。

   

4. 你感觉用怎样的力度进行重构会比较好一些呢?

刘奇:这与刚才的问题有点接近。重构尽量是分模块,小密度的重构,逐步的推上线。这样会比较好一点,因为整个项目一次做一个大重构,周期实在是非常长,而且风险不是太可控,很容易就掉到坑里面去了。

   

5. 最近很多人提到的重复造轮子,这个事情有利有弊。想了解一下你们研发Codis大概投入了多少成本,和你们预估的维护Redis的成本相比怎么样?

刘奇:首先说下关于重复造轮子的事情,其实当轮子够用的时候我们是不太鼓励重复造轮子的,我们之所以去造Codis这样一个东西是因为实在是没有一个可用的方案来支持我们水平的伸缩,所以才开发了这个。我们人力投入大概是一个月三个人的样子,实际上规划的是一个季度,现在我们剩下的时间大多用在完善它的应用性、美观上面。

   

6. 下一步你们有什么规划呢?

刘奇:下一步我们会对Codis做一个存储引擎的支持,这样用户可以选择使用Redis或者是Codis持久层的引擎,持久层的引擎会更省内存,有更好的持久性支持。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT