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

奇虎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平台部基础架构团队!希望未来有更多的好的产品实现开源!(付江、陈秋歌/文)

VB修改注册表一特例 VB与VC混合编程中处理消息的方法 VB中的进制转换是怎样的? VB中调用带参数存储过程的实现(数据库) VB中感叹号“!”与圆点“.”的用法差异 VB中如何实现注册表的读写 VB中实现“擦视”技术 Visual Basic 2000年问题 Visual Basic 的未来 Visual Basic 命令分类表 Visual Basic三级跳 Visual Basic使用技巧 Visual Basic中的子类处理技术 Visual Basic中软件封面技术探秘 VisualBasic 软件设计中的几个问题 Windows 95/NT 运行了多长时间 -VB资料 Windows 的登录资料库 -VB资料 把回车键变成TAB键-VB资料 把文件置入到Text或RichText中 -VB资料 避免按 [ENTER] 回车键产生的“嘀”声 -VB资料 避免使用全局变量-VB资料 避免装载多份应用程序-VB资料 不定个数的参数 -VB资料 不在任务栏中显示,只能在Ctrl+Alt+Del对话框中显示或者干脆什么也不显示数 -VB资料 处理 Dropdown List型 Combo的录入问题-VB资料 VB创建和删除快捷方式 从程序中生成 exe 文件 -VB资料 打开和关闭CD-ROM 驱动器 -VB资料 打开和关闭其他应用 -VB资料 打开一个超连接 -VB资料 当前操作系统的语言集-VB资料 RM\WAV..转化为MP3 这里难道就没有高手了吗?散分了!!! 我已经用HOOK截获wsock32.dll的recv(),但截来的有用的数据都是一堆堆的数据包,如何分析这些数据包呢? 我已经用HOOK截获wsock32.dll的recv(),但截来的有用的数据都是一堆堆的数据包,如何分析这些数据包呢? Tell me why! 为什么很多资料在介绍VC中的数据库编程时,大多用access的数据库作为例子,很少有VFP的,用在ACCESS上的程序代码同样实用与VFP上吗?他们 请问如何将chm格式的文件转换成pdf的 请问win/linux的qt哪有下载?还有WIN下的perl .net中如何创建Dll 80分讨论,关于DELPHI的SQL编程! 各位高手:请问如何在weblogic中使用证书撤销列表(SSL)? why? 谁能帮个忙? 请帮忙找找这个控件:含DBCtrlsEh cmos设置问题 如何使用createoleobject() 怎样在控件名字中运用变量 Access的中有类似于Oracle的Decode或者VB中的IIF那样的函数吗?在线等待! 网络中Access的问题. http://www.deckfloor.com/stants/hackgame/index.html 试试看!!!!!!!!!!! 简单问题但急,等回复! 如何利用shell函数,取得“我的电脑”下的驱动器列表?进而获得各磁盘下的目录? 呵呵,一个很菜的问题!关于weblogic ///////////////一个很简单的问题,只要有道理就有分。不够还可以再加!////////////////// CB6的project Manager 让人头疼! 关于截取字符串的问题 请大家帮我看一下这程序 这样的菜单效果怎么做啊!! SendMessage()的问题... 一个被挂起的进程(失去热点)还能收到键盘的消息吗? cb6 的 project Manager 让人头疼! 求助,Apache设置问题 高手请进!!分,不够再给!!是关于session的问题!! samsung550s显示器一问,在线等待…… RedHat 8.0 启动进不了XWindow视窗,怎么办呢???? 在C#中如何完成byte[]之间的拷贝,或者部分拷贝 请问Fuction(T("helpnet"),int i)中的T是和作用? 在客户服务器系统中如何向服务器中请求查询数据? 连接SQL——PLUS问题,用connect / as sysdba,抱错:服务句柄未初始化 关于安装程序的问题,来者有分 急,请高手赐教,在线 初学C++,我是不是需要详细的了解模板技术 游戏开始时的图形菜单和控件是怎么做的? 请诸位将已解决,但长期不结账的case贴在这里。 前几天搞了一个小东西 抱着试试看 在csdn上发布了 没想到今天一看 已经有十多个朋友捧场进行了下载 ######请问,不创建窗体,怎么读出窗体中的控件的属性? 答对给500分! 这个痛苦的程序已经到最后关头,请大家一定要帮我一把:) 100分求优秀MySQL技术网站。 位图菜单... 如何让自己的程序不在Window任务管理器里面出现? 关于DTS数据库导入的问题 爸爸的年龄是小明的 3.2 倍,妈妈的年龄是小明的2.6倍.爸爸比妈妈大9岁,爸爸、妈妈的年龄 个 是多少岁 He heard from his mother( yesterday)(对划线部分提问) 求高一英语作文 LIFE ON MARS 设想一下人类迁居到了火星上的生活会怎样?1.大房子是用特殊材料建造的,可以阻挡太阳的辐射2.水果蔬菜比地球上的大很多且富含营养3.火星上的新能源不会产生二 “我不知道”的英语! Jim ------------ a nice scarf for his mother on his mother‘s birthday. 以幸福为话题的作文600字.3Q 描写恐怖气氛的语句...像惊悚小说里的那样,让人感觉很诡异,很灰暗的,越多月好 描写恐怖气氛的语句...像惊悚小说里的那样,让人感觉很诡异,很灰暗的,越多月好 My mother gave me a birthday gift yesterday改同义句My mother ____ ____ ____ ____ ___ __ yesterday 有一种幸福叫XX 为题 的作文 帮我补充题目 想个好写的作文 3Q 写出怎么写 我不知道.英语? 看到奇异现象.很恐惧刚刚和男朋友去河边,一个非常大的黑影子从头顶飞过,非常进,本以为是车影子,等几辆车经过,没有任何影子,好象一辆车那么大的影子,而且感觉还有翅膀尾巴,真的很恐惧, 提前货期 英语 谁有描写‘恐怖’游乐场的句子!小说要用!几段就好! “狼疮”这个词给人很神秘与恐怖的感觉,狼疮细胞到底是什么细胞,这种细胞有什么病理特点?如何形成的? 爸爸今年的年龄是笑笑的4倍,而爷爷年龄是笑笑的8倍.爷爷今年的年龄是多少岁急爸爸今年的年龄是36岁,是笑笑的4倍,而爷爷年龄是笑笑的8倍.爷爷今年的年龄是多少岁 我很高兴能把王教授邀请来.麻烦问下用英语怎么翻译啊? 根据上下文完成对话.A:Where___you go yesterday?B:I went___Tom's birthday party__my friends.A:Whay did you have__the party?B:We__some juice and a lovely birthday cake___fruit.We were very happy. 孔子政治主张是什么还是要简练-0-也别复制 请问英语四级考617分能通过BEC高级吗? 詹天佑铜像下面的介绍 There is a bar next door to the station.请帮忙分析该句的语法,我搞不清楚 next door to the station.之后是什么成分 4级555级505.考高级bec合适吗 在詹天佑铜像下会写些什么?我有急用,今晚请兄弟姐妹们解决. There is_a bar_next door to the station对画线部分提问 过了四级,是现在考BEC中级还是,准备好明年考高级? 詹天佑铜像下的介绍 请问there's a bar next door to the station.的语法?next door to 是介词短语吗? My dearest Aunt Mei live in the country.She. la joh这个我不知道是什么语言 翻译成中文是神马 The man next door is from japan.对划线部分提问The man (next door) is from japan.对划线部分提问(括号中为划线部分)______ _______is from Japan? 我会撑到那天 用英文怎么说 神马是爆菊花,我同学说要爆我菊花,我不知道是神马意思 4.The teachers next to the door are talking happily.(划线部分提问)next to the door画线 在零售行业,商品下架的英文怎么说? Tom i_____ me to his birthday party,but I don"t go. 为什么不用三单? 有爱生活才快乐!如果幸福不在路上,那就在路的尽头是什么意思? 英语翻译I'd like to know a man who is kind ,honest ,and a little humorous .wherever you are ,you know how to enjoy your life 的翻译 詹天佑铜像上的介绍詹天佑铜像上的个人简介(急需)! (我在通往幸福的不归路上.)谁帮我解释下这句话? 英语翻译DAY AND DAY 简单易做的甜点要求:1、不需要用到烤箱2、适合新手做的.3、说得详细一点,把用到的工具和材料都列出来.4、要饼干这种东西,不要想冰激凌一样很快就化的.5、不要复制别人的,最好是能根 keep/ prevent/ stop from doing sth的区别? 一天有多少小时 翻译成英语 站在詹天佑铜像前,你会说 路上很开心,英语什么说 英语翻译我打算画一部叫做病鬼的漫画,无奈不会翻译这词,希望大家帮我下. 刚到国外,也不知道什么材料叫什么名字.就有水果,糖,鸡蛋,牛奶,蜂蜜什么的在家.有不需要买什么淀粉之类的就可以做的甜点吗,或者说谁知道那些材料在英语里怎么说的?好想吃甜品. 在成长路上幸福多作文600字 英语展示:求灵异事件我们英语课的presentation是关于ghost的话题,我需要两个灵异故事作为事例说明鬼魂的存在,有没有什么好故事提供?不需要太恐怖.如果是英文的更好 全家英语怎么说 "完货期将在下周"英语怎么说?the finished date will be on next week"需要不需要加介词ON"? 鬼域的英文单词是什么?或者是鬼的英文单词? 我们全家人都很忙 用英语怎么说 缩短货期至30周 英语怎么说 "他很开心,因为他被邀请出席告别晚会."的英文是什么? 我们全家都喜欢它用英语怎么说? 詹天佑铜像的象征 小明和他爸妈三人的年龄之和是90爸比妈大5岁妈比小明大26三人年龄各是多少不能用方程 Yesterday was Ben's birthday . He _____(get) some presents form his father and mother. 詹天佑铜像的象征意义
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘