【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

相关文章

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

mysql中的group by高级用法详解

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

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Python如何调用指定路径的模块

《Python如何调用指定路径的模块》要在Python中调用指定路径的模块,可以使用sys.path.append,importlib.util.spec_from_file_location和exe... 目录一、sys.path.append() 方法1. 方法简介2. 使用示例3. 注意事项二、imp