ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 326920|回复: 29

【IT名人堂】专访奇虎360高级专家:支撑360业务背后的开源技术

[复制链接]
认证徽章
论坛徽章:
127
目光如炬
日期:2014-12-01 06:00:04火眼金睛
日期:2015-02-01 06:00:04目光如炬
日期:2015-01-26 06:00:04目光如炬
日期:2015-02-16 06:00:03火眼金睛
日期:2015-03-01 06:00:03目光如炬
日期:2015-03-02 06:00:13慢羊羊
日期:2015-03-04 14:53:33目光如炬
日期:2015-07-26 22:00:00目光如炬
日期:2015-07-26 22:00:002015年新春福章
日期:2015-03-06 11:58:39
发表于 2015-3-18 17:39 | 显示全部楼层 |阅读模式

有这么一个企业,阿里巴巴、腾讯、百度、联想、小米、搜狗等互联网企业都跟它过过招,但还是离不开它,网购不上当,看片不中毒,搜索不中招,说的就是360;360搜索,安全小卫士也好、还是360云盘也罢,这些业务催生了海量的视频文件、图片、文本文件等,那么究竟该如何为大数据的安全隐患来保驾护航呢?支撑360业务的背后到底有哪些技术呢?本期名人堂,皮皮邀请到的访谈嘉宾是360WEB平台部基础架构团队负责人、360服务端&WEB服务端方向技术委员会委员王超,且看他为我们带来的独家分享。


皮皮(Q1):您好!很高兴采访到您,能否简单介绍下自己?

王超(A1):我叫王超,是360 WEB平台基础架构团队的负责人。我于2011年加入公司,带领团队至今已研发了十多种基础服务,其中很多基础服务已经成为了公司标配。在此期间,我对开源结下了非常深厚的感情,通过不断阅读开源软件,在技术的学习道路上沉淀积累,才走到今天的,所以在加入360以后,我持续推动内部项目的开源,当前已经发布了几款成熟的项目,还有一些在准备中,非常希望大家能一起参与进来 https://github.com/Qihoo360。另外,本人对分布式领域和系统调优有强烈的热情,喜欢运动、健身和旅游,我的微博是@Chancey,欢迎跟我交流:)


皮皮(Q2):您在360工作的四年时间里,带领团队打造了MySQL中间件等多种基础系统,能不能介绍下您的初衷?是否借助一些开源组件来做优化?还是推倒重来,完全采用新的思路?

王超(A2):我于2011年刚加入360的时候,我所在的大部门Cover了公司几乎所有业务线的服务端开发。记得当时,各种产品层出不穷、百花齐放,业务量增长迅猛,由于企业还很年轻,很多服务端的基础服务都是缺失的,比如操作MySQL数据库,每个业务都要考虑高可用、横向扩展、负载均衡的问题,如果有一个通用组件来做这些,就能大量减少冗余工作,提高产品线的开发效率、节省成本。


在我看来,我们必须采用开源组件,通常情况下,我们首先会根据需求对多款开源软件进行调研,选出最合适的开源软件,然后测试、专研代码,测试一轮完成后开始小范围试用,之后再根据遇到的问题进行改进和优化。值得一提的是,360对开发效率要求极高,任何一款产品都不允许超过一个月的开发周期,基础服务要保证服务的高可用性与稳定性,实属不易,一旦出现一点问题,好多条业务线可能会受到影响,为了避免这种情况的发生,我们就必须尽可能利用现有资源,对功能进行拆分、迭代,有时候为了配合业务需求,我们会上线局部性的新功能,后续版本会持续优化完善。


皮皮(Q3):360搜索也好,云盘也罢,催生了海量的视频文件、图片、文本文件等,存储这些数据的幕后数据库是什么?

王超(A3):总体来看,360的业务有些用到了开源的数据库,像MySQL、Cassandra、HBase、Redis,还有一些自己开发的,比如 Bada、一级引擎、二级引擎等,以应对不同的场景。在2015年中国数据库技术大会上,我将发表主题为“Bada-构建主从/去中心混合架构的NoSQL”的演讲,在分布式NoSQL遍地开花的今天,我们为何要自主研发?如何选择从开源软件过渡到自主研发的时机?在设计时,我们参考中心化和去中心架构的特点,根据自身业务场景进行了融合,从延迟、一致性、集群伸缩方面做了权衡;面对新的混合架构,我们遇到了一些前所未有的挑战,又是如何一一解决和优化的?历经三个月的研发,一年多的线上改进,成功解决了当时面对的问题且得到了广泛认可,届时也将同大家一起分享架构的优劣和可借鉴性方面的内容, 欢迎大家关注。


皮皮(Q4):很多网友可能都用过云盘,而一提到360,大家会想到一个词,那就是“安全”,尤其对360云盘而言,当我们选择将照片上传到云端,珍藏一生的回忆时,宕机与数据泄密似乎成为了死穴,那么360云盘是如何做到安全,确保万无一失的呢?


王超(A4):这个问题我请360云盘的技术负责人陈超来解答:

     1. 在服务端和客户端的双向传输过程中,360云盘采用了云存储专有的数据协议进行加密,同时配合(即SSL)通讯协议,可进一步确保传输过程的安全,防窃听,切实提高用户数据在传输过程中的安全性。  

2. 360云盘增设了“文件保险箱”的功能,存放在360云盘文件保险箱中的文件,经过特殊加密,避免文件在终端上被偷窥

3. 360云盘集成360强大的云查杀能力,用户上传到云上面的文件分享过程是经过病毒检测和杀毒处理,不会因为有病毒感染其他人的电脑。

4. 用户文件在云端的服务器上并不是完整的文件,而是被切割成就连系统管理员都无法识别加密的文件碎块。

      举例来说,用户的文件好比一张A4的白纸,在云端服务器上,像是被撕成成千上百块碎纸片,并且是加密的碎纸片,系统管理人员或者黑客即便拿到部分或者全部碎片,要把这成千上百的碎块组装起成你原来那张完整的白纸,没有你手中的密钥几乎是不可能的

5. 用户的一个文件会被保存到至少3台服务器上面,并且会在不同机房,即便某个机房因自然不可抗拒因素造成破坏,也不用担心文件会丢失。


皮皮(Q5):在2015中国数据库技术大会上,您的演讲主题是《Bada-构建主从/去中心混合架构的NoSQL》,我了解到,Bada 是360开发的一套Nosql系统, 具备多机房架构, 低延迟, 结构化等特点,那么它究竟应用于360的哪些业务呢?与其它主流的NoSQL相比,它有哪些优势呢?

王超(A5):Bada 为很多业务提供了服务,比如你刚才提到的云盘、搜索也在使用之列,多机房架构是为了应对公司多IDC这一特点而设计的,试想下,你有多个数据中心,但如果全靠自己来实现数据的同步,这种做法无疑很麻烦,而且对于存储系统而言,数据的一致性、可用性和性能很难做到优雅,现在业务用Bada存数据的时候完全不用担心在哪个机房写入,因为数据会自动同步到其他指定的IDC,多机房的写入冲突也不用关心,系统会自己处理。


由于很多业务也用来当持久化缓存用,所以系统设计中很多地方都需要考虑如何让延迟最低,系统当前处理4K的数据读写能做到1ms左右,当然还有优化空间。另外Bada提供了String / List / Set / Hash多种数据结构供选择,同时支持Redis协议,可以满足希望使用Redis,但苦于数据量太大单机无法容纳的场景。


皮皮(Q6):很多坛友对PHP可能都不会陌生,它支持几乎所有流行的数据库以及操作系统,有太多的原因让它成为了世界上最受欢迎的脚本语言。而对于PHP开发人员来讲,一个普遍头疼的问题在于代码的排错跟踪,那我知道,奇虎360将PHP脚本跟踪分析工具PHPTrace开源了,它能为开发人员带来哪些好处?它究竟有哪些应用场景?

王超(A6):提到PHP的调试和问题排查,可能很多人第一想到的就是 Xdebug 和 Xhprof,确实,这两款软件非常的强大,但对线上问题的定位却很无力,我们经常遇到这样的场景,某业务代码线上运行一直很正常,突然某天某个时段有大量超时或crash,如果使用Xdebug或Xhprof需要重启Fast-CGI进程,或者嵌入调试代码到程序逻辑中,但如果重启解释器可能问题会消失,也根本无法判断是哪一步逻辑有问题而无从加调试代码,如果线上一直打开调试模式又会非常影响性能。以前遇到问题,我们通常的做法是使用strace、gdb、tcpdump这样比较原始的工具来分析,这些工具的特点是只能抓出来系统调用、PHP内核空间堆栈、网络包这些比较底层的数据,要想定位问题还需要对操作系统、php内核、应用代码有一定的了解才能将观察到的现象串起来,整个调试过程很不友好,更何况有些问题并非一次就能定位,经历过太多次这样的事情之后,我们决定开发一款专门针对线上问题定位的工具,phptrace就由此而来,再遇到问题时,就可以指定任意进程跟踪排查,并直观看到PHP空间的函数调用和耗时,平时不会自动开启所以不会对线上造成任何性能影响。

   

互动时间:2015年3月18日-4月15日


互动奖励:本期名人堂微软专家坐镇,为大家答疑解惑,欢迎各位踊跃提问,活动结束后我们将评选最优会员赠送2015年中国数据库技术大会门票1张。更多嘉宾信息,请查看名人堂栏目:http://www.itpub.net/star/


作为国内数据库与大数据领域最大规模的技术盛宴,2015第六届中国数据库技术大会(DTCC)即将于2015年4月16日-18日在北京新云南皇冠假日酒店震撼登场。大会以“大数据技术交流和价值发现”为主题,云集了国内外顶尖专家,特别开设了SQL Server 专场,欢迎大家报名:http://dtcc.it168.com/


获奖名单:homershen获得技术图书一本。


认证徽章
论坛徽章:
244
2015年新春福章
日期:2015-05-28 10:58:322015年新春福章
日期:2015-03-19 09:32:472015年新春福章
日期:2015-03-06 11:58:182015年新春福章
日期:2015-05-21 11:46:522015年新春福章
日期:2015-05-22 13:32:002015年新春福章
日期:2015-06-25 14:26:362015年新春福章
日期:2015-07-01 17:15:212015年新春福章
日期:2015-07-01 17:15:212015年新春福章
日期:2015-07-01 17:12:082015年新春福章
日期:2015-05-18 13:50:34
发表于 2015-3-19 07:11 | 显示全部楼层
phptrace就由此而来,再遇到问题时,就可以指定任意进程跟踪排查,并直观看到PHP空间的函数调用和耗时,平时不会自动开启所以不会对线上造成任何性能影响

这个很不错啊!!!

使用道具 举报

回复
认证徽章
论坛徽章:
31
秀才
日期:2015-08-24 09:44:20秀才
日期:2015-09-14 10:08:30秀才
日期:2015-09-21 09:46:16秀才
日期:2015-12-25 15:31:10秀才
日期:2016-01-12 11:23:27秀才
日期:2016-01-25 15:02:042016猴年福章
日期:2016-02-23 09:58:34秀才
日期:2016-04-21 14:08:53白羊座
日期:2016-05-30 14:22:00托尼托尼·乔巴
日期:2016-07-21 14:36:43
发表于 2015-3-19 08:37 | 显示全部楼层
pipi咋认识这么多牛人啊

使用道具 举报

回复
论坛徽章:
0
发表于 2015-3-19 08:45 | 显示全部楼层
顶一下!!!!!!!!!!!!!!!!!

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Java研发
认证徽章
论坛徽章:
6329
ITPUB9周年纪念徽章
日期:2014-05-02 10:36:402011新春纪念徽章
日期:2014-12-29 12:11:142010广州亚运会纪念徽章:卡巴迪
日期:2014-08-06 08:44:25马上加薪
日期:2017-01-10 16:49:34马上有钱
日期:2017-01-10 16:49:34马上有钱
日期:2014-12-26 15:39:08马上有钱
日期:2014-12-26 15:39:08马上有房
日期:2014-12-26 15:42:55马上有车
日期:2017-01-10 16:49:34马上有钱
日期:2014-12-31 17:16:56
发表于 2015-3-19 15:39 | 显示全部楼层
strace/DSTRACE、gdb/MDB 阅读起来确实需要一定的基础。

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Java研发
认证徽章
论坛徽章:
6329
ITPUB9周年纪念徽章
日期:2014-05-02 10:36:402011新春纪念徽章
日期:2014-12-29 12:11:142010广州亚运会纪念徽章:卡巴迪
日期:2014-08-06 08:44:25马上加薪
日期:2017-01-10 16:49:34马上有钱
日期:2017-01-10 16:49:34马上有钱
日期:2014-12-26 15:39:08马上有钱
日期:2014-12-26 15:39:08马上有房
日期:2014-12-26 15:42:55马上有车
日期:2017-01-10 16:49:34马上有钱
日期:2014-12-31 17:16:56
发表于 2015-3-19 15:40 | 显示全部楼层
看完介绍,用四年时间掌握了那么多的技术,请问您有休息时间吗?

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
477
本田
日期:2014-01-05 16:51:44技术图书徽章
日期:2014-04-21 10:26:402014年世界杯参赛球队: 伊朗
日期:2014-05-23 10:41:312014年世界杯参赛球队: 比利时
日期:2014-06-17 12:09:43itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29
发表于 2015-3-19 16:23 | 显示全部楼层
线上调试工具,看起来很不错的样子,开发的市场又进一步细分了

使用道具 举报

回复
论坛徽章:
0
发表于 2015-3-19 16:46 | 显示全部楼层
2009532140 发表于 2015-3-19 15:40
看完介绍,用四年时间掌握了那么多的技术,请问您有休息时间吗?

团队共同努力的结果 :)当然也有之前的积累嘛

使用道具 举报

回复
论坛徽章:
0
发表于 2015-3-19 16:47 | 显示全部楼层
lastwinner 发表于 2015-3-19 16:23
线上调试工具,看起来很不错的样子,开发的市场又进一步细分了

希望能喜欢 :)

使用道具 举报

回复
认证徽章
论坛徽章:
55
ITPUB15周年纪念
日期:2017-02-19 21:29:36天枰座
日期:2015-11-23 10:05:24天蝎座
日期:2015-11-23 18:37:14秀才
日期:2015-11-11 09:48:44摩羯座
日期:2015-11-05 17:21:49双子座
日期:2015-08-26 10:23:172015年新春福章
日期:2015-06-02 14:55:00ITPUB季度 社区新星
日期:2016-07-07 09:29:48射手座
日期:2015-10-26 15:35:30慢羊羊
日期:2015-03-26 09:14:09
发表于 2015-3-19 16:53 | 显示全部楼层
chanceycn 发表于 2015-3-19 16:46
团队共同努力的结果 :)当然也有之前的积累嘛

您是360公司的吗?

访谈中提到云存储安全问题~
"用户文件在云端的服务器上并不是完整的文件,而是被切割成就连系统管理员都无法识别加密的文件碎块。
举例来说,用户的文件好比一张A4的白纸,在云端服务器上,像是被撕成成千上百块碎纸片,并且是加密的碎纸片,系统管理人员或者黑客即便拿到部分或者全部碎片,要把这成千上百的碎块组装起成你原来那张完整的白纸,没有你手中的密钥几乎是不可能的。"

请问一下~~
一般来说,DataNode存储文件数据,MasterNode存文件元数据(如文件在数据节点的存储地址等);
若MasterNode被系统管理员或黑客掌控~~那完整的文件数据还不是照样可读取吗? 请问贵公司是如何
考虑这方面安全保障的?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票8.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月30日前

活动链接>>
TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表