说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

奇虎360Web平台部基础架构团队访谈:开源线上数据库中间件Atlas

HTML文档下载 WORD文档下载 PDF文档下载
日前,CSDN记者联系到奇虎360Web平台部基础架构团队,就Atlas、MySQL集群架构以及开源等一系列问题作了采访。

近日,奇虎360Web平台部基础架构团队发布了最新开源项目——Atlas(代码托管地址),一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。日前,CSDN记者联系到奇虎360Web平台部基础架构团队的王超,就Atlas、MySQL集群架构以及开源等一系列问题作了采访,以下是采访内容:

CSDN:请您介绍一下自己及奇虎360线上数据库中间件开发团队。

奇虎360王超:大家好,我是王超。我于2011年加入奇虎360,当前在Web平台部负责基础架构团队,我们团队的主要职责是给Web后端业务提供高可靠、高性能的基础服务支持。

我们团队开发、维护着许多系统,除了分布式数据库、消息队列这些居家必备的基础服务之外,我们还做了一些好玩的东西。这次开源的MySQL中间件Atlas就是其中一项,它能真正让业务实现访问MySQL集群的高可靠和高可用,并且将业务开发工程师和MySQL运维工程师的工作完全隔离,做到互相透明,互不影响。当前主要由两位工程师在做持续开发和维护。

CSDN:360为什么要单独设计这样一款线上数据库中间件?它具有哪些功能点?

奇虎360王超:MySQL集群化应用一直都很普遍,为了提高应用系统的性能,开发工程师往往使出浑身解数在应用代码层做读写分离、负载均衡、分库分表,需要对后端MySQL集群架构有清晰的掌握,一旦某台MySQL Server宕机,不仅运维工程师需要感知,开发工程师也需要及时作出响应。为了提高业务团队的开发效率、减少人力成本,并且让运维工程师更灵活的施展手脚,这样一款中间件的重要性是我们可以预见的。

除了上述提到的特点,Atlas还支持黑白名单,它可以让我们自定义危险语句,比如delete忘了加where这样的SQL,从而提高安全性。

同时,它能让MySQL集群应用更加可靠和便捷,大家在实际使用中自然能感受到。

CSDN:为何选择把奇虎360线上数据库中间件开源?

奇虎360王超:第一、Atlas的广泛应用,为我们的业务开发效率、运维灵活性、集群可靠性带来了质的改变,所以我们希望它的开源同时能帮助到大家 

第二、取之开源,回馈开源,这是应该的。希望大家一起参与进来。

CSDN:与同类数据库中间件相比,它具有哪些特性?解决了哪些技术难点?

奇虎360王超:当前能够供大家用的数据库中间件很少,更不用说开源的了。相比同类开源软件,Atlas有以下特点:

a. 轻量级,只有三万多行C代码

b. 配置、管理简单

c. 使用原生MySQL协议,客户端无需作出额外的代码变动

5.该数据库中间件使用了哪些开源技术?其架构是怎样的?

基于开源软件MySQL-Proxy进行开发,其使用了MySQL原生协议,也就是说使用Atlas无需对原有的应用代码逻辑进行变更。

架构同样延用了Proxy方式,运行在Client与Server之间,负责请求的调度。

CSDN:在设计过程中遇到了哪些难点?是如何解决的?

奇虎360王超:设计和开发过程是痛并快乐的,因为MySQL-Proxy一直是Alpha版本,我们在最初调研、选型阶段就意识到基于此版本开发,过程会非常曲折,事实证明确实如此,不支持多字符集、多线程崩溃、epoll惊群、Lua全局锁、伪连接池等,这仅仅是功能性问题,性能方面也不给力,比如几百的QPS、并发高时latency会恶化到十秒级。

基于开源软件做,优势是一些功能不用重头开发,比如MySQL协议解析模块,但也有局限,由于内部架构已经成型,有些功能想优化成本也很高。期间也跟MySQL官方提交过一些BUG,但基本都石沉大海,即使有回复确认也没有相应patch。当时国内有一家大型互联网公司也有类似的项目,一开始同样基于MySQL-Proxy去做,但中间因为一些原因换用Erlang重写了。

我们当时有点犹豫,也想放弃重头写,但后来还是坚持了。现在想想还是值得的,因为从MySQL-Proxy中我们也学到了很多。

对于问题的解决,除了要清晰掌握代码、软件内部结构之外,还要善用工具,及时变换思路

CSDN:该数据库中间件是什么时候开始投入使用的,现已应用到公司内部哪些产品中? 

奇虎360王超:Atlas项目是11年启动的,两个月后完成了第一版,并小范围上线。之后完成了三个比较大的改版,在12年年底前覆盖了公司大多数MySQL应用。

CSDN:对该款数据库中间件,未来有什么规划吗?

奇虎360王超:我们发布的版本在内部已经是稳定版本,开源出来之后,由于大家运行环境各不相同,可能会产生编译或其他一些问题。我们收到反馈后,会及时解决。

另外,我们考虑是否给Atlas加入跨服务器的auto sharding功能,由于当前不乏一些分布式架构成熟的数据库,是否有必要做最终取决于需求。

CSDN:360公司内部对开源是怎样的态度?未来有什么计划?

奇虎360王超:拥抱开源!开源有助于我们提高代码质量,同时让我们受益,我们有责任、有义务回馈开源社区。未来将会有更多的项目加入进来。

CSDN:多谢王超和奇虎360Web平台部基础架构团队!希望未来有更多的好的产品实现开源!(付江、陈秋歌/文)

Top Paid与Top Grossing定价策略的差异 Android版百度云推送正式发布 为何开发者应推动公司开源? 从AppGratis被下架说起,苹果或将再次付出代价 58同城的“烦恼”——8K月薪安全工程师引发的入侵 软件开发实践的24条军规 思科 IBM 微软等巨头联合开发开源SDN项目OpenDaylight 巾帼不让须眉:2012年度云计算领域Top 10女性 中移动全力推进NFC 5月起乘公交可刷手机 支持Android与iOS,Qt 5.1 Alpha全新亮相 Google Play:劣质Android应用已无藏身之地! 360推出信用网站认证开放平台 联合百家协会围剿钓鱼网站 经验分享:百度测试架构师眼中的百度QA(一) 在线旅行服务行业开放API带来的新机遇 专访:悬疑恐怖游戏Year Walk美术及音效设计师 解密:微软都柏林数据中心的神秘“免费冷却”装置 云计算如何影响数字化营销? 榜单:十位帮我们打理数据的存储大佬 OpenStack Grizzly版发布 Comcast、CERN成为新会员 谷歌携Blink来势汹汹 WebKit将成明日黄花? 星巴克与苹果合作 顾客可免费下载付费App 微信回应信令争议 将启动2.5G网络优化计划 凤凰网CTO吴华鹏离职 先后供职长达10年 外媒:开发者每周编码时间仅19.1小时 AppGratis CEO现身说法:应用被苹果儆杀始末 一个Web设计师眼里的云计算 戴尔高管:服务器业务领先惠普五年时间 Hoodie:基于JS与CouchDB的超快速Web开发框架 设计优秀API的五大规则 盘点英特尔IDF2013第一天:技术产品新趋势 英雄组队去打怪!Nimble Quest开发团队访谈 TCP包 如何传 0 这个...? 请问在一台机(win98)中,如何模仿一个局域网的环境? 我想开发COM组件,但目前为止对它从未接触过,我该看什么书 50分奉送!!谢谢 我装了网上邻居,可是我在网上邻居里找不到自己呢?要安装什么协议吗? 中巴之战----------------中国队的恐怖阵形:911(转贴) qq中察看聊天纪录的窗口中右边那个表格,有没有类似的控件 我做的程序只用了内部控件,打包后必须的文件是身摸?为身摸打包后很大? 真的还是假的?浙江育英学院VS浙江司法职业警校-----愤怒!!!!!!!!!!! 关于SQL的一些问题! 有没有熟悉CAD编程的高手,我们需要合作 关于数据库编程中的CDaoRecordset等几个问题!在线等待! 在这最后的大学时光里,我衷心感谢那些给我帮助的兄弟姐妹们!!! 想找lzw算法的源程序(c/c++) 那位朋友机器上有VS.net中文版的软件呀,如果可以的话,可以用pp共享,给200分 大家帮我看看这个怎么解决,解决了,另开帖送分!急! 请大家帮忙!!! 如何取消vb默认的应用程序忙对话框 请问这段代码哪里有误? 请问各位高手制作MediaPlayer问题,急急!!要交作业。 VB能做绿色软件吗?几十K的! &&&&&&小弟现在初学COM,有谁留下QQ,帮助小弟,小弟感激不尽。 十万火急 我想开发一些牌类和棋类的游戏,有什么外国的网站可以学到,和开放源代码。知道的请帮帮忙(100) 万分感谢 怎样配置运行.exe的CGI程序 请教,如何改变 TreeView的背景颜色? 一个算法问题 誰能介紹廣州几個做掌上電腦開發的牛一點的公司? 如何在客户端的Web Service请求中加入SOAP标头 Fortran中怎样实现类似 全局变量的实现方法。 关于无边框窗口 几个名词的英汉翻译,这样翻译对吗? JBuilder6个人版的注册号谁知道?急用!!! 高分求教 哪儿可以下载InstallShield 6.22(在线等待,急!!!!) 我要installshield 怎样backupwin98的注册表? ****************如何生成安装文件************* 求教这样一个角度算法 征求好网址!大家把收藏夹里的好网址贡献出来吧! 中国队惨了!!!!!!!贝克汉姆已加入土耳其队! 《Applied Cryptography》,这是本什么书? 一个12位的整型,用unsigned long可以容纳吗? Perl以后会变成什么样呢? 谁能帮我!错手把逻辑盘的东西删了,能不能恢复。 下面添加用户的代码能运行吗,我怎么运行不起来,50feng VC文本编辑器没有参数提示 在Delphi中如何使图像淡入淡出? 猜猜中国今天输几个,本人大胆预测10-0 为什么我这里总是405错误呀?Method Not Allowed……The requested method POST is not allowed ADO技术问题! 线型高分子化合物和体型高分子化合物在导电性上有什么区别? 浓硫酸与木炭方程式 生成的所有产物的检验顺序 三角牌高压锅胶圈哪里有买 恒温恒湿实验室是怎么界定的? 浓硫酸加热条件下与木炭粉反应.要方程式①产物之一可使无水硫酸铜变色( )变色后的晶体受热又变为白色粉末( )②另一种产物可使溴水褪色( )③最后一种气体可用澄清石灰石验证( 初三化学问题:有一条这样的化学式Fe+CuSO4===Cu+FeSO4问题一 参加反应的各物质的质量比是多少 问题二参加反应的各粒子的相对数量 问题三这个化学方程式有两种读法 请用文字表达 步入式恒温恒湿试验室规格? 硫酸的相对分子质量是. 亚硫酸钠和硫化氢反应吗有的说反应,有的说因为酸性不够所以不反应.那为什么不能发生氢离子和亚硫酸根的反应啊? 有没有可以防止二价锰离子被氧化的有机还原剂? 将H+,Al3+,NH4+1投放到OH-中,OH-先与谁反应?为什么? 酵母葡聚糖对糖尿病有什么作用 脂肪酸遇电解质产生沉淀吗 硫酸的分子质量是多少? 谁家的酵母葡聚糖好 cuso4.5h20+fe=feso4.7h2o+cu 咋样配平 处理废水加明矾的作用 哪里能买到酵母葡聚糖, Mg2+ ,Al3+与OH-反应有先后吗?为什么? 碳链为什么是锯齿形键可以扯直了 扯直了不就不是锯齿形了吗? 温度低于沸点是什么态?温度高于沸点,小于熔点是什么态?固态氢的熔点是-259℃,那么-260℃的氢是什么态,-255℃的氢是什么态.-250℃的氢是什么态,-259℃的氢是什么态 OH先与 Mg2+反应还是 Al3+生成沉淀? 氯化钠与硫酸的反应氯化钠与浓硫酸反应时,首先生成硫酸氢钠与氯化氢,接着硫酸氢钠与氯化钠反应生成硫酸钠和氯化氢,这时需要加热到多少温度? 气相色谱仪进样的温度是参考物质的熔点还是沸点? 化合物A~I均是由Na+、NH4+、Al3+、Ba2+、Mg2+、Cl—、OH—、S042—等八种离子中的某两种形成的化合物,物质A~I的转化关系如下图所示. (1)写出下列物质的化学式:A C(s)+H2O(g) = CO(g)+H2(g);ΔH=?反应热怎么算出来的?C(s)+O2(g)=CO2(g) (三角形)H=-393.5ki/molH2(g)+1/2O2(g)=H2O(g) (三角形)H=-242.0ki/molCO(g)+1/2O2(g)=CO2(g) (三角形)H=-283.0ki/mol根据以上数据,写出C(s)与水蒸 O型橡胶圈与缸塞配合的公差多少为合适! OH-与H+,Al3+,NH4+反应顺序,为什么 硫怎么生成硫化氢? 威士邦橡胶避孕套20只装内赠送的橡胶圈是做和用 长期服用DHA(22碳6烯脂肪酸)有副作用吗?背GRE单词需要记忆力 硫化氢制硫 方程式 橡胶圈是不是就是O型圈? 深海鱼油DHA和海藻DHA有什么不同,小孩子需要补充哪种DHA? 硫化氢与什么盐能生成硫? 高温下,丁烷完全裂化生成四种气体,将混合气体用溴水处理后,剩余气体的平均相对分子质量为21.6,...高温下,丁烷完全裂化生成四种气体,将混合气体用溴水处理后,剩余气体的平均相对分子质 许多海洋生物食品含有丰富的DHA,DHA(分子式为C22H32O2)是近年来备受关注的一元不饱和高级脂肪酸(烃基中只含有碳碳双键),它对大脑细胞的生长发育具有重要的意义.一个DHA分子中含有的碳碳 硫代硫酸钠是不是正盐?化学式Na2s2o3,两个硫化合价不同,一个0价,一个+4价。 正丁醇与氢溴酸直接反应制备1-溴丁烷如何反应 明矾和氢氧化钡反应(过量和不过量) 的两种离子方程式 燕麦葡聚糖有什么作用? 1—溴丁烷的制备中气体吸收装置主要吸收什么气体 请问1mol明矾向其中加入氢氧化钡反应生成沉淀图像该如何做? 酵母葡聚糖 如何去味我想把他添加到膳食当中 酵母葡聚糖有一点苦味,闻着味道也不是很好.是酵母葡聚糖,不是葡聚糖酶 与氢溴酸发生加成反应的有机物有哪些?并说明哪些是必须纯的溴化氢气体?能与溴化氢(氢溴酸)发生加成反应的有机物有哪些?请详细按类别举例,并说明哪些是必须纯的溴化氢气体,哪些是溴化 如下图所示,虚线框中的装置可用来加浓硫酸与炭粉在加热条件下反应产生的所有气体产物.已知高锰酸钾酸性溶液具有很强的氧化性,能与SO₂发生氧化还原反应.请按要求回答下列问题:( C6H14的同分异形体的书写 为什么不能3个C一条链 铂金饰品上的pt950标志的含义.铂金饰品上的pt950标志是指制作铂金饰品的材料在摄氏0度时的电阻是950欧姆吗?若是能否利用电阻值鉴别铂金的纯度. 浓硫酸与木炭粉在加热条件下的反应产物可能有什么1.浓硫酸与木炭粉在加热条件下的反应方程式 九阳电压力锅胶圈哪能买到 铂金项链pt950好吗?铂金项链pt950和990相比哪个更好,是不是后者的价值更高呢?怎么鉴别铂金项链pt950? 在含有NH4+和Ba2+和NO3-和Cl-的溶液中还能大量共存的离子是 A:Ag+ B:Mg2+ C :(SO4)2- D:OH- 书写C7H16和C6H14的同分异构体 戒指内刻着CTF Pt950标志是不是白金的 K+,NH4+,Ag+,Al3+,Cl-,OH-,硫酸根离子中,哪5种在同一种溶液中可以共存再问一下,如果配成这种溶液可以将哪两种物质溶于水 请问:电压力锅密封胶圈哪有卖的?自己家使用的电压力锅密封胶圈老化了,想买个新的密封圈换上,不知哪里有卖的,请各位提供线索. 聚葡萄糖的定义 二价锰离子和二氧化铅在酸性条件下反应的化学方程式, 美的电高压锅橡胶圈去啊购买? 聚葡萄糖是什么物质,有什么作用、是葡萄糖的一种么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘