奇虎360Web平台部基础架构团队访谈:开源线上数据库中间件Atlas
近日,奇虎360Web平台部基础架构团队发布了最新开源项目——Atlas(代码托管地址),一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很
近日,奇虎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协议,客户端无需作出额外的代码变动
CSDN:该数据库中间件使用了哪些开源技术?其架构是怎样的?
奇虎360王超:基于开源软件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项目是2011年启动的,两个月后完成了第一版,并小范围上线。之后完成了三个比较大的改版,在2012年年底前覆盖了公司大多数MySQL应用。
CSDN:对该款数据库中间件,未来有什么规划吗?
奇虎360王超:我们发布的版本在内部已经是稳定版本,开源出来之后,由于大家运行环境各不相同,可能会产生编译或其他一些问题。我们收到反馈后,会及时解决。
另外,我们考虑是否给Atlas加入跨服务器的auto sharding功能,由于当前不乏一些分布式架构成熟的数据库,是否有必要做最终取决于需求。
CSDN:360公司内部对开源是怎样的态度?未来有什么计划?
奇虎360王超:拥抱开源!开源有助于我们提高代码质量,同时让我们受益,我们有责任、有义务回馈开源社区。未来将会有更多的项目加入进来。
CSDN:多谢王超和奇虎360Web平台部基础架构团队!希望未来有更多的好的产品实现开源!(付江、陈秋歌/文)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

文字標註工作是將標籤或標記與文字中特定內容相對應的工作。其主要目的是為文本提供額外的信息,以便進行更深入的分析和處理,尤其是在人工智慧領域。文字標註對於人工智慧應用中的監督機器學習任務至關重要。用於訓練AI模型,有助於更準確地理解自然語言文本訊息,並提高文本分類、情緒分析和語言翻譯等任務的表現。透過文本標註,我們可以教導AI模型識別文本中的實體、理解上下文,並在出現新的類似數據時做出準確的預測。本文主要推薦一些較好的開源文字標註工具。 1.LabelStudiohttps://github.com/Hu

圖像標註是將標籤或描述性資訊與圖像相關聯的過程,以賦予圖像內容更深層的含義和解釋。這個過程對於機器學習至關重要,它有助於訓練視覺模型以更準確地識別圖像中的各個元素。透過為圖像添加標註,使得電腦能夠理解圖像背後的語義和上下文,從而提高對圖像內容的理解和分析能力。影像標註的應用範圍廣泛,涵蓋了許多領域,如電腦視覺、自然語言處理和圖視覺模型具有廣泛的應用領域,例如,輔助車輛識別道路上的障礙物,幫助疾病的檢測和診斷透過醫學影像識別。本文主要推薦一些較好的開源免費的圖片標註工具。 1.Makesens

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

多模態文件理解能力新SOTA!阿里mPLUG團隊發布最新開源工作mPLUG-DocOwl1.5,針對高解析度圖片文字辨識、通用文件結構理解、指令遵循、外部知識引入四大挑戰,提出了一系列解決方案。話不多說,先來看效果。複雜結構的圖表一鍵識別轉換為Markdown格式:不同樣式的圖表都可以:更細節的文字識別和定位也能輕鬆搞定:還能對文檔理解給出詳細解釋:要知道,“文檔理解”目前是大語言模型實現落地的一個重要場景,市面上有許多輔助文檔閱讀的產品,有的主要透過OCR系統進行文字識別,配合LLM進行文字理

向大家介紹一個最新的AIGC開源專案-AnimagineXL3.1。這個專案是動漫主題文字到圖像模型的最新迭代,旨在為用戶提供更優化和強大的動漫圖像生成體驗。在AnimagineXL3.1中,開發團隊專注於優化了幾個關鍵方面,以確保模型在效能和功能上達到新的高度。首先,他們擴展了訓練數據,不僅包括了先前版本中的遊戲角色數據,還加入許多其他知名動漫系列的數據納入訓練集中。這項舉措豐富了模型的知識庫,使其能夠更全面地理解各種動漫風格和角色。 AnimagineXL3.1引入了一組新的特殊標籤和美學標

SpringDataJPA基於JPA架構,透過映射、ORM和事務管理與資料庫互動。其儲存庫提供CRUD操作,派生查詢簡化了資料庫存取。此外,它使用延遲加載,僅在必要時檢索數據,從而提高了效能。

FP8和更低的浮點數量化精度,不再是H100的「專利」了!老黃想讓大家用INT8/INT4,微軟DeepSpeed團隊在沒有英偉達官方支援的條件下,硬生在A100上跑起FP6。測試結果表明,新方法TC-FPx在A100上的FP6量化,速度接近甚至偶爾超過INT4,而且比後者擁有更高的精度。在此基礎之上,還有端到端的大模型支持,目前已經開源並整合到了DeepSpeed等深度學習推理框架中。這項成果對大模型的加速效果也是立竿見影──在這種框架下用單卡跑Llama,吞吐量比雙卡還要高2.65倍。一名

论文地址:https://arxiv.org/abs/2307.09283代码地址:https://github.com/THU-MIG/RepViTRepViT在移动端ViT架构中表现出色,展现出显著的优势。接下来,我们将探讨本研究的贡献所在。文中提到,轻量级ViTs通常比轻量级CNNs在视觉任务上表现得更好,这主要归功于它们的多头自注意力模块(MSHA)可以让模型学习全局表示。然而,轻量级ViTs和轻量级CNNs之间的架构差异尚未得到充分研究。在这项研究中,作者们通过整合轻量级ViTs的有效
