【SDCC讲师专访】百度运维部高级工程师胡东旭:BDRP的底层设计以及核心模块的研发...

本文主要是介绍【SDCC讲师专访】百度运维部高级工程师胡东旭:BDRP的底层设计以及核心模块的研发...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由CSDN举办的SDCC 2016 将于3月18-19日在上海隆重召开。届时,百度运维部高级工程师胡东旭将在数据库核心技术与实战应用峰会中带来《Redis在百度的运用实战》的主题分享,欢迎大家前来现场聆听【点击这里抢票】。


图片描述

百度运维部高级工程师 胡东旭

百度运维部高级工程师,主要负责地图/糯米的基础组件研发(Redis,Nginx等)。有丰富的Cache运维经验,曾主导百度BDRP(Baidu Distributed Redis Platform)的底层设计以及核心模块的研发–目前BDRP已在整个百度公司内得到广泛使用。

以下为CSDN对胡东旭先生的个人专访内容,下面就让他分享BDRP的底层设计以及核心模块的研发,和如何才能成为一名优秀技术人。以下为专访内容:

CSDN:首先请您简单介绍下自己、公司以及目前所负责的领域。

胡东旭:我是百度运维部高级工程师胡东旭,13年毕业于武汉理工大学,加入百度运维部后主要负责地图以及糯米的Cache存储(Redis、Mognodb等)运维以及研发、目前专注在产品线的前端接入方向(速度优化、防劫持等)。

CSDN:您担任百度运维部高级工程师期间,给您留下最深刻的人或事有哪些呢?

胡东旭:糯米是14年Q1割接到百度机房,稳定性由最开始接手时候的两个9都不到做到了现在4个9,当中离不开大家的努力。组织上成立了糯米运维保障执行团队,每次大型活动,相关运营/RD/QA/OP都会齐心协力为活动保驾护航。

CSDN:据我了解,您曾主导百度BDRP( Baidu Distributed Redis Platform)的底层设计以及核心模块的研发,在研发期间遇到了哪些技术难点和挑战?

胡东旭: 1. 技术难点其实也是由糯米活动所引发的,背景是:糯米活动组织越来越频繁,并且流水也逐渐升高,那么在活动期间的峰值流水很可能是平日期间的5-10倍,那么要在如此强度下仍然保障可靠的稳定性,就需要服务有高效的止损手段/预案。而BDRP之前是没有考虑到止损效率,而运维部要求这一层的止损能力要在1分钟内完成,这一环如果不能完成,那么糯米的止损能力就相当于缺了一条腿。

2.因而对于BDRP而言,如何做到1分钟止损,这本身就是一个不小的挑战。

CSDN:那么,您能具体和我们谈谈BDRP具体应用在哪些场景下?他们实现的原理又是什么?

胡东旭: 1. BDRP应用的场景十分之多,一般分为两种类型,一种是Cache类,例如地图的索引信息则存放在Redis内,另一类是当作存储类型使用,例如糯米的团单详情信息是存在Redis内的。

2.当作Cache使用的,一般多为QPS高,数据频繁更新的服务,而且多半都会利用Redis的key淘汰策略。

3.而当作存储类型使用的,一般是看中Redis较为轻量级,易上手,比别的NoSQL支持的数据结构类型更多,并且开发模式比使用MySQL更加简易。

CSDN:据我了解,您对Cache运维有着丰富的经验,那么您能和我们具体谈谈吗?

胡东旭: 1.Cache运维我主要还是说Redis。

2.Redis的运维其实主要需要关注这么几个方向:

(1)在RD调研Cache/存储选型的时候,就介入进来,或者说你给RD有好的准入标准,可供评估。(好的准入,是为了让RD弄明白他的项目中需要哪种合适的Cache/存储);
(2)其次,对Redis而言,所有的常用配置,基本原理,得做到心中有数;
(3)Cache运维并不是无脑式操作,你要做到心中有数,平日抽空多读源码;
(4)除了原理以外,运维上也有许多事情需要完成的,例如监控以及预案。一定要确保监控项覆盖全面,但是从另外一个角度来说,想100%覆盖所有监控,这个的确不容易,所以就需要有应对故障的策略/预案,并且定期频繁演练,确保你的预案足够健壮。

CSDN:您近期还会关注哪些技术热点?
胡东旭:从底层而言,主要还会关注Docker等容器化技术;从前端技术而言,还会关注用户访问速度优化等topic,例如google的AWP技术等等。当然,这些需求其实都源于产品线。我更加推崇的是离业务更近一点,带着产品线的需求而做技术/架构的变革,而不仅仅只是为了追求某项技术而研发。

CSDN:您认为作为一名优秀的技术人应该具备哪些素质?

胡东旭: 1.嗅觉敏锐:你必须得时刻关注产品线需求,开源社区的热门技术/国外优秀的技术前沿论文。

2.自驱力:时刻给自己充电,要不就落后于他人。

3.团队协助:很多项目是需要一个团队,甚至多个团队一些协助完成的,一个单兵能力再强也有很大的局限性。

4.共享信息与乐于助人:有好的idea/技术,不要私藏,要学会分享,发扬出来。

5.敢于挑战他人以及接受别人的挑战:在挑战中不断成长,才不会当井底之蛙。

6.不盲从:以数据说话。

CSDN:在本次SDCC数据库峰会上分享的话题是?

胡东旭:我本次在峰会上分享的题目是关于BDRP的架构原理以及实际运用场景。

CSDN:您最期待在本次SDCC数据库峰会上听到哪些内容?

胡东旭:我希望听到更多业内对数据库应用方面的实践,比如像阿里的RDS等等。


SDCC的精彩正在继续,2016年3月18日-19日,数据库核心技术与实战应用峰会、互联网应用架构实战峰会将在上海召开,我们静候您的到来。大会官网(含购票)

这篇关于【SDCC讲师专访】百度运维部高级工程师胡东旭:BDRP的底层设计以及核心模块的研发...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730709

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

mysql中的group by高级用法

《mysql中的groupby高级用法》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,下面给大家介绍mysql中的groupby用法... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J