最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

皮MM专访360王超:揭秘支撑360业务背后的技术

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-22 10:54:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

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

360WEB平台部基础架构团队负责人王超

皮皮(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空间的函数调用和耗时,平时不会自动开启所以不会对线上造成任何性能影响。



楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-6-4 15:57

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表