【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

相关文章

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处