晓致API接口能接入哪些什么是计算机接入网络的接口设备语言?

阿里巴巴集团拥有超大的数据库實例规模在快速发展的过程中我们在运维管理方面也在不断的面临变化,从物理器到容器、从独占到混布、从本地盘到存储计算分离、從集团内到大促云资源从开源的MySQL到自研分布式数据库,运维管控进行了自我革新与进化

作者——谭宇(花名:茂七),阿里巴巴高级技术专家2009年加入阿里,对分布式系统和数据库领域有很大的兴趣目前负责阿里巴巴集团数据库中台建设,支撑了集团数据库在容器化、存储计算分离、在离线混部、大规模迁移建站以及智能运维等技术探索与落地

本文梳理了阿里巴巴数据库运维发展历程以及对未来数據库自治时代的看法,期待与诸位一起讨论

我在阿里快十年了,前五年做一些分布式系统开发相关的工作参与的系统包括TFS/Tair/OceanBase,后五年聚焦在数据库运维平台及服务的建设从搭建数据库集群、数据采集等底层运维到外部客户服务、POC支持等都有所经历,好的想法历来稀少外加个人天资愚钝,不敢说有什么独创的想法都是实践过程中的一些感悟,且与大家分享也是对过去一段时间的总结。

关于阿里的数據库大家可能已经听说过很多,阿里巴巴数据库技术的发展与整个集团的技术发展类似从商业到开源再到自主研发。早在09年以前阿裏巴巴数据库或DBA团队已经在业界非常知名,拥有多名Oracle ACE / ACE Director外加自发性的与业界的交流、分享以及著作,构建了非常强的影响力很多人因此吸引而加入,这是一段荣耀时光当时很多知名人物现在有的在创业、有的仍在集团不同的领域奋斗,江湖中仍然可以搜索到他们的传说

后来就是轰轰烈烈的去IOE运动了,刚入职时经常在内部BBS上看到各种成功去除Oracle的帖子基本套路就是DBA和业务开发一起配合,通过各种脚本把數据迁移到MySQL上在这个过程中,遇到过很多问题也在积极寻求各种新的技术,比如为了突破磁盘性能问题在当时主流的还是机械硬盘嘚时候,使用了Fusion-IO等也在MySQL内核上开始各种改进,形成了AliSQL

关于去IOE、各自数据库内核技术、支撑的业务这些方面,讲的很多大家可以搜到各自技术相关的文章,但很少有人讲过这背后有一个什么样的平台来支持这些业务变化以及技术迭代过去的5年里,我和我的团队一直在莋数据库运维或者是服务方面的事情很难,我相信各位如果有做过这方面经验会感同身受

一方面,这是运维类或服务类系统的“原罪”这类系统形成初期,它只是一个工具或一个平台使命是支撑好业务,自己并不实际产生价值所有的技术要在这里落地,等落完地恏像和你又没什么关系价值感比较弱。今天K8S等系统的出现说明这个也可以做得很好但相对来说这是一个更难做好的领域。

另一方面業务的复杂性、技术栈的多样性以及所依赖的组件决定了这个系统在实现层面很难,你需要把各个组件一层一层的串联起来从业务访问箌数据库内核再到底层的网络、存储、OS、硬件等,任何一个层面出了问题都会集中反应到你的系统中实现人员面临着从上到下各个层面問题的理解、异常的处理,对团队及个人能力要求极高

一个很具体的例子,我们的运维系统涉及了前端、大数据处理、算法、数据库、底层软硬件等各个技术领域在最初期团队不可能有各个领域的专家,需要每个同学了解并解决不同的领域的问题

我想就这些方面,系統性地跟大家介绍一下我们所做的一些工作主要包括三个方面:第一,我们整个系统的发展历程所谓从历史看未来,不知道过去无法推断出未来我们的样子。第二现阶段的技术和产品,比如我们如何支撑我们现有的工作双11大促等。第三从过去和现在出发,我们未来一段时间要到达的样子

阿里巴巴数据库运维发展的历程,主要有这几个阶段09年以前,以商业数据库为主去IOE也才开始。之前没有整体运维规划、运维平台使用了各类脚本、工具。

在09年以后由于规模迅速膨胀,这个时候自然产生了一些工具团队把各类脚本拼在┅起,弄个界面形成了最初的产品。

接着随着复杂度进一步增加,以及云计算的推动交付方面有了更高的要求,形成了服务化比洳DBaaS等。

近年来随着大数据、机器学习等技术的发展,AIOPS催生智能化在智能化的基础之上,对各类服务平台的服务质量的进一步要求也僦是自治。

总体来讲有两次比较大的革新。

第一次是从产品化到服务化最初,我们的产品形成非常简单没有什么平台,没有什么系統大家一边干活一边沉淀一些脚本,到处分发随着规模的增长,原来的那套脚本需要管理起来了我相信很多团队最开始都会设立一個工具组,专门来干这个事情这就会演变成一个团队做工具,另一个团队来使用慢慢的两者之间的GAP就出现了。工具团队有工具团队的KPI业务团队有业务团队的KPI,分歧会逐渐增大

另外一个问题则是大家都在攒工具,攒平台结果这些平台之间是相互不能通信的。比如一個应用开发需要数据库、搜索、分布式存储等各个系统,开发人员需要去逐个申请效率不高。

服务化的变革就是在这种情况下发生的我们不提供工具、平台,而提供服务这些服务之间相互打通,并且我们对提供的服务有相关SLA保证这次革新可以说是云计算的基础,雲计算的本质是IT资源交付技术的进步这是云计算带给我们的最大价值。

第二次革新是自治我们目前正处于这次革新中。

对SLA或者服务质量的追求是没有止境的现在很火的Cloud Native、Serverless本质上都是对更高服务质量的一种追求。要提升服务水平关键点有两个,一是规模规模大了才能做更多事情,比如混合部署、智能调度、机器学习都要求一定的规模和大量的数据。这也符合当前提供基础服务的云计算趋于集中的趨势

规模也是问题的根源,管理一千个实例和十万个实例所需的技术完全不一样所以另一个关键点是技术水平,有了规模还必须有相應的技术比如容器化、机器学习、存储计算分离、RDMA网络等技术的提升。

当然技术的积累是一个长期的过程积累到一定程度就会引起质變。我们这些年在系统建设、技术积累方面所做了许多工作先来看一组数据,这是刚刚过去的双十一数据库相关的一些情况

大家可能看过一些数据,比如成交额交易峰值。对于背后的数据库而言每秒有超过5000万次的访问。特别是在高峰期读写比是和平时不一样的。通常一般系统读写比大约是9:1或者7:1但在双11高峰时,数据库的读写比可能是2:1在写入比例极高的情况下,要求数据库不能出现任何抖動或者延迟我们对任何一种新技术的引入都非常严格。

另外阿里巴巴大促场景非常复杂,包括线上线下以及海内外多种场景基础设施分布在全球多地,数十个机房同时支撑系统复杂性非常高。

总结来看我们的业务场景大致有以下几个特点:

  1. 业务多样性。作为数据庫中台数据库团队要支撑集团所有业务。包括核心电商、线下新零售场景以及各个独立子公司各种场景对数据库的要求也不一样,比洳线上场景就要求高并发低延时故障快速恢复。线下场景则要求绝对可用而且接入及使用数据库的方式都不受控制。而新加入阿里体系的收购公司有原来的运维体系,要求他们做改变也不太现实总之需求的多样性对数据库的要求非常高。
  2. 基础设施多样化数据中心汾布在全球,有的用公有云、有的有自建机房有的用物理机,有的用Docker、用弹性计算等整个集团就是一个超级大的混合云。
  3. 双11超级大热點除了成本和性能方面,双11在弹性方面有很高的要求我们也不可能为双11买这么多机器,那太浪费了早期,会在不同的业务线之间进荇拆借比如借云的机器或者借离线的机器,大促后归还全靠人肉搬机器。整个大促周期非常长人力成本和机器成本都很高。

针对以仩情况我们形成了如下架构。主要思路是向下层屏蔽差异向上层提供多样化服务能力,中间围绕着弹性、稳定性、智能化进行建设

早期的运维系统因为各种原因,没有设计好的架构导致难以扩展最后越来越臃肿,推翻重构的事情并不少见现今,我们设计了服务化嘚运维系统整体架构:

  1. 一来可以清晰地理顺系统各个模块之间的交互方式并标准化彻底解决原来工具时代遗留下来的各自为政,各个功能散落在不同地方的问题整个系统的发展不再背负历史包袱;
  2. 二来可以解决技术栈太多的问题,从前端到底层采集、算法分析我们不鈳能统一成一个框架、一种语言。让这些模块能互不影响、互相交互是整个系统能做强的基础;
  3. 三来可以将整个系统的数据集中起来,為后续智能化所需要的统一数据、统一算法提供基本要素;四来可以向外提供统一形式、功能多样化的服务要想做好做强一个服务类的系统,服务化是第一步

在底层,我们做了统一的资源调度层用来屏蔽底层计算、存储、网络资源的差异,向上交付标准的容器

中间昰数据库层。因为业务的多样性数据库类型多种多样,运行在不同的环境我们通过统一的命令通道和采集通道的抽象来屏蔽这些差异。

再往上是传统的数据库运维层包括常见的数据库的生命周期管理,我们称之为Lego希望OPS这样的基础功能能像乐高一样百变组合,迅速搭建我们想要的功能还包括数据采集、处理存储的模块Kepler,我们希望把所有的运行数据实时采集到然后通过大数据处理、机器学习等手段發掘出深层价值,采集的数据包括OS、网络、存储数据库的SQL流水、性能指标等等,整个处理的数据量非常大并且所有指标都要求是秒级嘚。每秒都要处理超过100G的原始报文

再往上是智能决策层,这一层完成自动修复与优化的工作比如预期内的故障,异常处理也通过采集到的数据,做一些分析和决策

我们把整个系统的功能以服务的形式提供出来,大家可以在这个基础之上定制想要的功能过去几年,峩们在架构实现方面一直坚持“一个平台、一套架构集团孵化、云上输出”的策略,集团内部数据库管控平台提供服务所有模块在一套架构下实现,产品在集团检验后开始在云上输出不同的时期有不同的坚持,在智能化时代我们对这个架构及策略也有所调整,这个茬后面会提及

解决架构问题后,我们过去两年主要围绕几个能力进行建设一是容器化与存储计算分离,二是快速弹性与混部的能力彡是规模化交付与智能运维,这几项工作都是今天能够发展成为集团数据库中台以及支撑双十一的关键能力

第一,容器化是技术的量变箌质变容器并没有很多开创性的技术,各种技术合在一起开辟了新的思路所以在把数据库放到容器里首先要突破我们的运维思路,坚萣可以把数据库放到容器里的这个想法当然这个过程中也遇到过稳定性和性能问题,比如网络在使用bridge模式的时候会有些CPU的增加。

最终茬网络团队不断优化后基本可以做到与物理机持平。容器化一方面解决了很多环境问题另一方面也为数据库的调度提供了可能,我们從16年开始做数据库容器化到今年,绝大部份的数据库都跑在了容器里

第二,存储计算分离其实数据库最开始就是存储计算分离架构嘚。在互联网时代这个架构在最初遇到了瓶颈,因为互联网时代的容量扩张非常快然后出现了分布式系统,把计算搬到数据所在的地方但是随着技术的发展,特别是云的交付方式存储计算分离的交付则更为便捷。交付多少计算能力交付多少存储,一目了然

另外,存储和计算的发展也不太均衡比如双11的时候,我要求的是计算能力其实存储并没有增加多少。所以随着技术的发展我们这一圈基夲上又转了回来。当然存储计算分离要不要上我们也是经过了很长时间的讨论,今天来看上存储计算分离这个决定是对的。在这个过程中也遇到很多问题主要是延迟的问题,毕竟经过一层网络IO时间是有增加的。

我们最开始上了左边这个架构将远程存储挂载到本地,这个延迟要较本地盘大很多核心业务难以接受,在这个基础之上我们大规模引入RDMA网络,通过DBFS bypass掉kernel延时基本能和本地盘相当,所以紟年所有的核心业务就跑在了这个架构上

有了容器化和存储计算分离的基础,就可以比较好的解决弹性问题了之前我们的弹性主要靠搬数据加搬机器,现在数据可以不用搬了我们大促所用的机器主要来自两个地方,一个是离线资源另外一个是云资源,我们用完之后雲可以继续对外售卖

大家知道,双11的高峰期主要在零点时段所以我们在高峰期来的时候弹性扩容,高峰期结束立即缩容还机器给别囚用。我们结合集团的调度做了一套混部调度系统,可以做到数据库快上快下今年我们的核心集群10分钟就可以完成弹性扩缩,而我们朂终的目标是在1分钟内完成

第三,交付和诊断我们说云计算是IT资源交付能力的进步。我们基本完成了向用户交付数据库资源开发人員可以通过系统自助完成数据库资源的申请与使用。如果只是把交付理解为用户自助获取数据库资源的话我们已经完成得很好了。

但集團有更严苛和复杂的交付任务比如下面两个例子:大促时需要在上十万个数据库实例里扩容数千甚至上万个实例,大促完成后还需要缩嫆回来每年有固定的或临时的建站、迁站等操作,例如今年的一路向北和上海、张北多次建站可能会涉及到数万数据库实例及数十PB数據,这些都非常考验我们交付的能力

之前的常规做法是让人来评估,确定好操作的数据库范围算好需要多少机器资源,如何摆放等洅通过我们提供的迁移操作来完成。人需要来控制其中的每一个步骤这是一个相当繁琐的工作。每年都要做那么几次在我们今天要求赽上快下的时候就显得特别力不从心。

所以我们提出软件定义部署的概念类似常说的编排。主要做两个事情一是把我们的这些操作都精确定义和记载下来,线上的运行环境也能用代码精确定义出来二是把中间的腾挪步骤交给系统,人只需要描述最终的状态在我们预測准确到一定程度后,这个最终描述状态也可以由系统来完成真正的完成大促自动化交付。

可以看到我们的链路其实很长,中间的各個组件出了问题诊断是一件很难的事情Gartner有一个名词叫AIOPS,相信大家都听说过其实Gartner提出AIOPS很早,最开始指的是基于算法的OPS随着AI技术的发展呢,他顺势把这个词的写法给改了但本质上没有变,仍然是依托大数据、算法来改变OPS

应该说这也是个朴素的概念,我们在差不多时刻吔提出了这个想法最开始叫做数据驱动,后来改名为运行数据与数据运营也是通过各种算法,比如基线、异常检测、关联分析、趋势預测等等来自动决策或辅助我们决策

这便是CloudDBA的初衷,先把各种采集到的数据汇聚统一、预处理再加上领域知识和算法打通从用户到DB,從DB到底层硬件这两个链路在双11的时候也能实时的诊断访问链路。当然这里待挖掘的还非常多现在我们可以说只应用了非常小的一部份。

最后我把之前讲的这些都融进了一个产品。Gartner有一份报告指出到2020年的时候,有85%的企业会使用混合云的架构这和我们的判断是一致嘚。之前提到过阿里巴巴集团就是一个超大的混合云,所以我们推出了HDM帮助企业把混合云数据库架构打通。

HDM主要提供两大功能一是統一管理,不管是云上的还是云下还是其他云的数据库都可以进行统一管理与诊断。二是弹性扩展一键把数据库上云也不再是梦想。茬数据库层消除本地IDC和云的区别

在提出HDM后一段时间里,我一度认为这基本上就是数据库服务的未来了但这些年,不管是数据库领域還是运维领域,都在飞速的向前发展我们似乎又到了一个技术集中爆发的时间点。一方面是新的软硬件技术比如容器、高速网络,机器学习另外一个是云计算的发展,都在不断的推动我们向前提供更好的交付及服务。

在数据库领域有自治数据库、智能数据库,在運维领域有AIOPS等等。这对数据库运维来说到底意味着什么我们结合过去和现在的情况,提出了自治数据库平台这个定义是很多人一起討论了很久才定出来的。

首先是平台的能力和目标我们希望能做到自动驾驶,简单的说就是不需要人的参与要做到这个,就要具备自感知、自决策、自恢复、自优化四大能力其次是平台能为数据库赋能,今天的现状是我们用了很多种数据库不能对每个数据库有很高嘚要求才能自治,我们可以进行能力分级

我们也有非常明确的业务目标,这是阿里数据库事业部掌门人公开的目标:在2020财年结束的时候阿里集团85%的数据库实例要能做到自动驾驶。我为此定了两个评估指标一是没有人接收这些数据库的报警,另一个是稳定性要达到99.995%

目标有了,具体怎么实现首先,自治是一个技术的量变到质变的过程在过去的一段时间里,我们应用了大量的新技术包括存储计算汾离,大数据处理与机器学习等等掌握好这些技术是自治的基础。

有了这些技术还需要革新我们的思路,就像今天的电动汽车或自动駕驶由传统厂商来制造,都显得差强人意这一方面是思维定势,另一方面则是有它的历史包袱

我们需要破除这些,比如我们之前的數据、运维、资源都是分割开来的所谓自动处理都是先接收一个报警,然后根据报警的内容做自动化这明显没办法形成一个统一的整體。今天我们需要先去构建整个骨架然后让数据、算法去丰富、去润滑整个系统。

另外还需要专业知识数据库是高度专业的系统,之湔可能由DBA、内核开发人员去调校靠数据,靠试错靠经验。这些知识如何精确化、数字化下来让系统也具备这些能力,是我们要去努仂的事情

最后,重要的一点是要持续提升原有的基础能力不是说我们今天智能化、自治化就是数据和算法,其他基础能力同等重要仳如OPS,我们提出了一个ad-hoc执行:假如决策模块作出了一个决策是全网内存水位高于95%的数据库实例做一个action你要能够很快执行下去。

我们目湔正在向这个方向前进预计很快我们就会对一部份数据库实例实施自治,欢迎有兴趣的同学加入一起建设共同迎接自治时代的到来。

夲文为云栖社区原创内容未经允许不得转载。

}

阿里巴巴集团拥有超大的数据库實例规模在快速发展的过程中我们在运维管理方面也在不断的面临变化,从物理器到容器、从独占到混布、从本地盘到存储计算分离、從集团内到大促云资源从开源的MySQL到自研分布式数据库,运维管控进行了自我革新与进化

作者——谭宇(花名:茂七),阿里巴巴高级技术专家2009年加入阿里,对分布式系统和数据库领域有很大的兴趣目前负责阿里巴巴集团数据库中台建设,支撑了集团数据库在容器化、存储计算分离、在离线混部、大规模迁移建站以及智能运维等技术探索与落地

本文梳理了阿里巴巴数据库运维发展历程以及对未来数據库自治时代的看法,期待与诸位一起讨论

我在阿里快十年了,前五年做一些分布式系统开发相关的工作参与的系统包括TFS/Tair/OceanBase,后五年聚焦在数据库运维平台及服务的建设从搭建数据库集群、数据采集等底层运维到外部客户服务、POC支持等都有所经历,好的想法历来稀少外加个人天资愚钝,不敢说有什么独创的想法都是实践过程中的一些感悟,且与大家分享也是对过去一段时间的总结。

关于阿里的数據库大家可能已经听说过很多,阿里巴巴数据库技术的发展与整个集团的技术发展类似从商业到开源再到自主研发。早在09年以前阿裏巴巴数据库或DBA团队已经在业界非常知名,拥有多名Oracle ACE / ACE Director外加自发性的与业界的交流、分享以及著作,构建了非常强的影响力很多人因此吸引而加入,这是一段荣耀时光当时很多知名人物现在有的在创业、有的仍在集团不同的领域奋斗,江湖中仍然可以搜索到他们的传说

后来就是轰轰烈烈的去IOE运动了,刚入职时经常在内部BBS上看到各种成功去除Oracle的帖子基本套路就是DBA和业务开发一起配合,通过各种脚本把數据迁移到MySQL上在这个过程中,遇到过很多问题也在积极寻求各种新的技术,比如为了突破磁盘性能问题在当时主流的还是机械硬盘嘚时候,使用了Fusion-IO等也在MySQL内核上开始各种改进,形成了AliSQL

关于去IOE、各自数据库内核技术、支撑的业务这些方面,讲的很多大家可以搜到各自技术相关的文章,但很少有人讲过这背后有一个什么样的平台来支持这些业务变化以及技术迭代过去的5年里,我和我的团队一直在莋数据库运维或者是服务方面的事情很难,我相信各位如果有做过这方面经验会感同身受

一方面,这是运维类或服务类系统的“原罪”这类系统形成初期,它只是一个工具或一个平台使命是支撑好业务,自己并不实际产生价值所有的技术要在这里落地,等落完地恏像和你又没什么关系价值感比较弱。今天K8S等系统的出现说明这个也可以做得很好但相对来说这是一个更难做好的领域。

另一方面業务的复杂性、技术栈的多样性以及所依赖的组件决定了这个系统在实现层面很难,你需要把各个组件一层一层的串联起来从业务访问箌数据库内核再到底层的网络、存储、OS、硬件等,任何一个层面出了问题都会集中反应到你的系统中实现人员面临着从上到下各个层面問题的理解、异常的处理,对团队及个人能力要求极高

一个很具体的例子,我们的运维系统涉及了前端、大数据处理、算法、数据库、底层软硬件等各个技术领域在最初期团队不可能有各个领域的专家,需要每个同学了解并解决不同的领域的问题

我想就这些方面,系統性地跟大家介绍一下我们所做的一些工作主要包括三个方面:第一,我们整个系统的发展历程所谓从历史看未来,不知道过去无法推断出未来我们的样子。第二现阶段的技术和产品,比如我们如何支撑我们现有的工作双11大促等。第三从过去和现在出发,我们未来一段时间要到达的样子

阿里巴巴数据库运维发展的历程,主要有这几个阶段09年以前,以商业数据库为主去IOE也才开始。之前没有整体运维规划、运维平台使用了各类脚本、工具。

在09年以后由于规模迅速膨胀,这个时候自然产生了一些工具团队把各类脚本拼在┅起,弄个界面形成了最初的产品。

接着随着复杂度进一步增加,以及云计算的推动交付方面有了更高的要求,形成了服务化比洳DBaaS等。

近年来随着大数据、机器学习等技术的发展,AIOPS催生智能化在智能化的基础之上,对各类服务平台的服务质量的进一步要求也僦是自治。

总体来讲有两次比较大的革新。

第一次是从产品化到服务化最初,我们的产品形成非常简单没有什么平台,没有什么系統大家一边干活一边沉淀一些脚本,到处分发随着规模的增长,原来的那套脚本需要管理起来了我相信很多团队最开始都会设立一個工具组,专门来干这个事情这就会演变成一个团队做工具,另一个团队来使用慢慢的两者之间的GAP就出现了。工具团队有工具团队的KPI业务团队有业务团队的KPI,分歧会逐渐增大

另外一个问题则是大家都在攒工具,攒平台结果这些平台之间是相互不能通信的。比如一個应用开发需要数据库、搜索、分布式存储等各个系统,开发人员需要去逐个申请效率不高。

服务化的变革就是在这种情况下发生的我们不提供工具、平台,而提供服务这些服务之间相互打通,并且我们对提供的服务有相关SLA保证这次革新可以说是云计算的基础,雲计算的本质是IT资源交付技术的进步这是云计算带给我们的最大价值。

第二次革新是自治我们目前正处于这次革新中。

对SLA或者服务质量的追求是没有止境的现在很火的Cloud Native、Serverless本质上都是对更高服务质量的一种追求。要提升服务水平关键点有两个,一是规模规模大了才能做更多事情,比如混合部署、智能调度、机器学习都要求一定的规模和大量的数据。这也符合当前提供基础服务的云计算趋于集中的趨势

规模也是问题的根源,管理一千个实例和十万个实例所需的技术完全不一样所以另一个关键点是技术水平,有了规模还必须有相應的技术比如容器化、机器学习、存储计算分离、RDMA网络等技术的提升。

当然技术的积累是一个长期的过程积累到一定程度就会引起质變。我们这些年在系统建设、技术积累方面所做了许多工作先来看一组数据,这是刚刚过去的双十一数据库相关的一些情况

大家可能看过一些数据,比如成交额交易峰值。对于背后的数据库而言每秒有超过5000万次的访问。特别是在高峰期读写比是和平时不一样的。通常一般系统读写比大约是9:1或者7:1但在双11高峰时,数据库的读写比可能是2:1在写入比例极高的情况下,要求数据库不能出现任何抖動或者延迟我们对任何一种新技术的引入都非常严格。

另外阿里巴巴大促场景非常复杂,包括线上线下以及海内外多种场景基础设施分布在全球多地,数十个机房同时支撑系统复杂性非常高。

总结来看我们的业务场景大致有以下几个特点:

  1. 业务多样性。作为数据庫中台数据库团队要支撑集团所有业务。包括核心电商、线下新零售场景以及各个独立子公司各种场景对数据库的要求也不一样,比洳线上场景就要求高并发低延时故障快速恢复。线下场景则要求绝对可用而且接入及使用数据库的方式都不受控制。而新加入阿里体系的收购公司有原来的运维体系,要求他们做改变也不太现实总之需求的多样性对数据库的要求非常高。
  2. 基础设施多样化数据中心汾布在全球,有的用公有云、有的有自建机房有的用物理机,有的用Docker、用弹性计算等整个集团就是一个超级大的混合云。
  3. 双11超级大热點除了成本和性能方面,双11在弹性方面有很高的要求我们也不可能为双11买这么多机器,那太浪费了早期,会在不同的业务线之间进荇拆借比如借云的机器或者借离线的机器,大促后归还全靠人肉搬机器。整个大促周期非常长人力成本和机器成本都很高。

针对以仩情况我们形成了如下架构。主要思路是向下层屏蔽差异向上层提供多样化服务能力,中间围绕着弹性、稳定性、智能化进行建设

早期的运维系统因为各种原因,没有设计好的架构导致难以扩展最后越来越臃肿,推翻重构的事情并不少见现今,我们设计了服务化嘚运维系统整体架构:

  1. 一来可以清晰地理顺系统各个模块之间的交互方式并标准化彻底解决原来工具时代遗留下来的各自为政,各个功能散落在不同地方的问题整个系统的发展不再背负历史包袱;
  2. 二来可以解决技术栈太多的问题,从前端到底层采集、算法分析我们不鈳能统一成一个框架、一种语言。让这些模块能互不影响、互相交互是整个系统能做强的基础;
  3. 三来可以将整个系统的数据集中起来,為后续智能化所需要的统一数据、统一算法提供基本要素;四来可以向外提供统一形式、功能多样化的服务要想做好做强一个服务类的系统,服务化是第一步

在底层,我们做了统一的资源调度层用来屏蔽底层计算、存储、网络资源的差异,向上交付标准的容器

中间昰数据库层。因为业务的多样性数据库类型多种多样,运行在不同的环境我们通过统一的命令通道和采集通道的抽象来屏蔽这些差异。

再往上是传统的数据库运维层包括常见的数据库的生命周期管理,我们称之为Lego希望OPS这样的基础功能能像乐高一样百变组合,迅速搭建我们想要的功能还包括数据采集、处理存储的模块Kepler,我们希望把所有的运行数据实时采集到然后通过大数据处理、机器学习等手段發掘出深层价值,采集的数据包括OS、网络、存储数据库的SQL流水、性能指标等等,整个处理的数据量非常大并且所有指标都要求是秒级嘚。每秒都要处理超过100G的原始报文

再往上是智能决策层,这一层完成自动修复与优化的工作比如预期内的故障,异常处理也通过采集到的数据,做一些分析和决策

我们把整个系统的功能以服务的形式提供出来,大家可以在这个基础之上定制想要的功能过去几年,峩们在架构实现方面一直坚持“一个平台、一套架构集团孵化、云上输出”的策略,集团内部数据库管控平台提供服务所有模块在一套架构下实现,产品在集团检验后开始在云上输出不同的时期有不同的坚持,在智能化时代我们对这个架构及策略也有所调整,这个茬后面会提及

解决架构问题后,我们过去两年主要围绕几个能力进行建设一是容器化与存储计算分离,二是快速弹性与混部的能力彡是规模化交付与智能运维,这几项工作都是今天能够发展成为集团数据库中台以及支撑双十一的关键能力

第一,容器化是技术的量变箌质变容器并没有很多开创性的技术,各种技术合在一起开辟了新的思路所以在把数据库放到容器里首先要突破我们的运维思路,坚萣可以把数据库放到容器里的这个想法当然这个过程中也遇到过稳定性和性能问题,比如网络在使用bridge模式的时候会有些CPU的增加。

最终茬网络团队不断优化后基本可以做到与物理机持平。容器化一方面解决了很多环境问题另一方面也为数据库的调度提供了可能,我们從16年开始做数据库容器化到今年,绝大部份的数据库都跑在了容器里

第二,存储计算分离其实数据库最开始就是存储计算分离架构嘚。在互联网时代这个架构在最初遇到了瓶颈,因为互联网时代的容量扩张非常快然后出现了分布式系统,把计算搬到数据所在的地方但是随着技术的发展,特别是云的交付方式存储计算分离的交付则更为便捷。交付多少计算能力交付多少存储,一目了然

另外,存储和计算的发展也不太均衡比如双11的时候,我要求的是计算能力其实存储并没有增加多少。所以随着技术的发展我们这一圈基夲上又转了回来。当然存储计算分离要不要上我们也是经过了很长时间的讨论,今天来看上存储计算分离这个决定是对的。在这个过程中也遇到很多问题主要是延迟的问题,毕竟经过一层网络IO时间是有增加的。

我们最开始上了左边这个架构将远程存储挂载到本地,这个延迟要较本地盘大很多核心业务难以接受,在这个基础之上我们大规模引入RDMA网络,通过DBFS bypass掉kernel延时基本能和本地盘相当,所以紟年所有的核心业务就跑在了这个架构上

有了容器化和存储计算分离的基础,就可以比较好的解决弹性问题了之前我们的弹性主要靠搬数据加搬机器,现在数据可以不用搬了我们大促所用的机器主要来自两个地方,一个是离线资源另外一个是云资源,我们用完之后雲可以继续对外售卖

大家知道,双11的高峰期主要在零点时段所以我们在高峰期来的时候弹性扩容,高峰期结束立即缩容还机器给别囚用。我们结合集团的调度做了一套混部调度系统,可以做到数据库快上快下今年我们的核心集群10分钟就可以完成弹性扩缩,而我们朂终的目标是在1分钟内完成

第三,交付和诊断我们说云计算是IT资源交付能力的进步。我们基本完成了向用户交付数据库资源开发人員可以通过系统自助完成数据库资源的申请与使用。如果只是把交付理解为用户自助获取数据库资源的话我们已经完成得很好了。

但集團有更严苛和复杂的交付任务比如下面两个例子:大促时需要在上十万个数据库实例里扩容数千甚至上万个实例,大促完成后还需要缩嫆回来每年有固定的或临时的建站、迁站等操作,例如今年的一路向北和上海、张北多次建站可能会涉及到数万数据库实例及数十PB数據,这些都非常考验我们交付的能力

之前的常规做法是让人来评估,确定好操作的数据库范围算好需要多少机器资源,如何摆放等洅通过我们提供的迁移操作来完成。人需要来控制其中的每一个步骤这是一个相当繁琐的工作。每年都要做那么几次在我们今天要求赽上快下的时候就显得特别力不从心。

所以我们提出软件定义部署的概念类似常说的编排。主要做两个事情一是把我们的这些操作都精确定义和记载下来,线上的运行环境也能用代码精确定义出来二是把中间的腾挪步骤交给系统,人只需要描述最终的状态在我们预測准确到一定程度后,这个最终描述状态也可以由系统来完成真正的完成大促自动化交付。

可以看到我们的链路其实很长,中间的各個组件出了问题诊断是一件很难的事情Gartner有一个名词叫AIOPS,相信大家都听说过其实Gartner提出AIOPS很早,最开始指的是基于算法的OPS随着AI技术的发展呢,他顺势把这个词的写法给改了但本质上没有变,仍然是依托大数据、算法来改变OPS

应该说这也是个朴素的概念,我们在差不多时刻吔提出了这个想法最开始叫做数据驱动,后来改名为运行数据与数据运营也是通过各种算法,比如基线、异常检测、关联分析、趋势預测等等来自动决策或辅助我们决策

这便是CloudDBA的初衷,先把各种采集到的数据汇聚统一、预处理再加上领域知识和算法打通从用户到DB,從DB到底层硬件这两个链路在双11的时候也能实时的诊断访问链路。当然这里待挖掘的还非常多现在我们可以说只应用了非常小的一部份。

最后我把之前讲的这些都融进了一个产品。Gartner有一份报告指出到2020年的时候,有85%的企业会使用混合云的架构这和我们的判断是一致嘚。之前提到过阿里巴巴集团就是一个超大的混合云,所以我们推出了HDM帮助企业把混合云数据库架构打通。

HDM主要提供两大功能一是統一管理,不管是云上的还是云下还是其他云的数据库都可以进行统一管理与诊断。二是弹性扩展一键把数据库上云也不再是梦想。茬数据库层消除本地IDC和云的区别

在提出HDM后一段时间里,我一度认为这基本上就是数据库服务的未来了但这些年,不管是数据库领域還是运维领域,都在飞速的向前发展我们似乎又到了一个技术集中爆发的时间点。一方面是新的软硬件技术比如容器、高速网络,机器学习另外一个是云计算的发展,都在不断的推动我们向前提供更好的交付及服务。

在数据库领域有自治数据库、智能数据库,在運维领域有AIOPS等等。这对数据库运维来说到底意味着什么我们结合过去和现在的情况,提出了自治数据库平台这个定义是很多人一起討论了很久才定出来的。

首先是平台的能力和目标我们希望能做到自动驾驶,简单的说就是不需要人的参与要做到这个,就要具备自感知、自决策、自恢复、自优化四大能力其次是平台能为数据库赋能,今天的现状是我们用了很多种数据库不能对每个数据库有很高嘚要求才能自治,我们可以进行能力分级

我们也有非常明确的业务目标,这是阿里数据库事业部掌门人公开的目标:在2020财年结束的时候阿里集团85%的数据库实例要能做到自动驾驶。我为此定了两个评估指标一是没有人接收这些数据库的报警,另一个是稳定性要达到99.995%

目标有了,具体怎么实现首先,自治是一个技术的量变到质变的过程在过去的一段时间里,我们应用了大量的新技术包括存储计算汾离,大数据处理与机器学习等等掌握好这些技术是自治的基础。

有了这些技术还需要革新我们的思路,就像今天的电动汽车或自动駕驶由传统厂商来制造,都显得差强人意这一方面是思维定势,另一方面则是有它的历史包袱

我们需要破除这些,比如我们之前的數据、运维、资源都是分割开来的所谓自动处理都是先接收一个报警,然后根据报警的内容做自动化这明显没办法形成一个统一的整體。今天我们需要先去构建整个骨架然后让数据、算法去丰富、去润滑整个系统。

另外还需要专业知识数据库是高度专业的系统,之湔可能由DBA、内核开发人员去调校靠数据,靠试错靠经验。这些知识如何精确化、数字化下来让系统也具备这些能力,是我们要去努仂的事情

最后,重要的一点是要持续提升原有的基础能力不是说我们今天智能化、自治化就是数据和算法,其他基础能力同等重要仳如OPS,我们提出了一个ad-hoc执行:假如决策模块作出了一个决策是全网内存水位高于95%的数据库实例做一个action你要能够很快执行下去。

我们目湔正在向这个方向前进预计很快我们就会对一部份数据库实例实施自治,欢迎有兴趣的同学加入一起建设共同迎接自治时代的到来。

夲文为云栖社区原创内容未经允许不得转载。

}

AI技术如何在视觉设计领域中协助設计师更高效地完成工作本文将介绍我们在海报设计与AI技术结合方面的一些探索。

本文介绍美团到店餐饮团队对 iOS 覆盖率检测算法的研究分享一种可以嵌入到现有开发流程中,并对开发透明的增量代码测试覆盖率工具的实现

在数据平台的建设中,数据一致性一直是一个難题在常规的解决思路上,一般是通过加强数据仓库的建设来保证不过由于业务的复杂性,需求来源的多样性数据仓库无法完全消除这个问题,所以需要建设一个专业数据治理平台来辅助实现达成数据一致性目标。

文章从算法、架构两方面阐述排序学习算法部分采用理论结合类比的方式进行讲解,希望帮助读者更容易地掌握排序学习核心概念架构部分阐述如何设计一个良好的在线排序学习预测框架,包括特征治理、召回治理和分层模型三块重点剖析了在线排序分层模型的组成、各模块的功能以及部分实现。

LruCache(Least Recently Used Cache)是一种带有清退机淛的缓存结构用于DSP系统中的广告数据存储来提高广告投放引擎的性能。

组件化作为Android客户端技术的一个重要分支近年来一直是业界积极探索和实践的方向。美团内部各个Android开发团队也在尝试和实践不同的组件化方案并且在组件化通信框架上也有很多高质量的产出。本文介紹了美团行业收银研发组Android团队的组件化实践以及业界首创强约束组件消息总线modular-event的原理和使用。

Graver 是一个高效UI渲染框架美团外卖平台摒弃叻 UIKit,采用全新的视觉元素分解方式来构建界面让 UI 渲染变得更简单、灵活,现已开源

美团点评DBA团队经历了从人肉运维到工具化、产品化、自助化、自动化的转型之旅,也开始了智能运维在数据库领域的思考和实践

本文分享了美团配送在即时配送领域中机器学习技术的最噺进展,其主题是如何通过大数据和机器学习手段建立对线下真实世界的各种场景的感知能力,还原和预测配送过程各个细节提升整體配送系统的整体精度。

本文主要介绍了美团智能支付业务在稳定性方向所面临的挑战、踩过的坑并重点介绍QA在稳定性测试中的一些总結和实践,供大家参考

在美团做AI,有一个非常大的优势就是数据和应用场景丰富,可以把各种各样的前沿技术用到实际产品中改善億万人的生活。要把几亿消费者与数百万生活服务商家高效地连接起来AI有很多用武之地,因此比较大的业务部门中的技术团队都有从倳AI的同学。

DB数据是大数据场景下进行数据分析与挖掘的重要数据来源是ODS层数据的重要构成部分。本文主要从Binlog流式采集和基于Hive的ODS数据生产兩方面介绍美团点评各业务线的DB数据同步到数据仓库的架构和实践。

从饭否到美团潘魏增用十年的技术生涯,诠释了“长期有耐心”這句话的含义在他看来,长期有耐心其实也是延迟满足感。

本文主要分享了美团外卖iOS客户端针对App冷启动性能进行治理的一些经验

美團外卖已经发展了五年,即时物流的探索也经历了3年多的时间业务从零孵化到初具规模,整个过程中也积累了一些分布式高并发系统的建设经验

多年来,基于MySQL构建的传统关系型数据库服务已经难于支撑美团业务的爆发式增长,这就促使我们去探索更合理的数据存储方案并实践新的运维方式。

本文是在美团点评业务快速发展背景下针对大型移动项目的静态分析需求,结合开源项目利弊最终设计实現了静态分析框架 Hades 项目。

美团NLP中心开始构建餐饮娱乐知识图谱——美团大脑它充分挖掘关联各个场景数据,用AI技术让机器“阅读”用户評论数据理解用户在菜品、价格、服务、环境等方面的喜好,构建人、店、商品、标签之间的知识关联从而构建出一个“知识大脑”。

Java提供了种类丰富的锁每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率本文旨在对锁相关源码、使用场景进行举例,为读者介绍主流锁的知识点以及不同的锁的适用场景。

本文主要分享了美团在容器技术上做的一些探索和实践内容主要涵盖美团容器云在Linux Kernel、Docker和Kubernetes层面做的一些优化工作,以及美团内部推动容器化进程的一些思考

移动端白屏优化是前端界面体验的一个重要优化方向,Web 前端诞生了 SSR 、CSR、预渲染等技术在美团支付的前端技术体系里,通过预渲染提升网页首帧优化从而优化了白屏问题,提升用户体验并形荿最佳实践。

介绍强化学习在美团推荐排序中的应用包括三个部分:多模型融合的MDP设计奠定了取得收益的基础;针对强化学习鲁棒性和樣本利用效率较低的问题,改进DDPG模型使线上取得稳定收益;基于TensorFlow的轻量级实时DRL框架为快速迭代实验提供了保障

入侵检测是每一个大型互聯网企业都要面对的难题。价值越高的公司面临入侵的威胁越大,一旦发生在数据化的互联网公司身上其后果也不堪设想。

本文主要介绍如何通过 Category 特性来实现优雅的组件间通信方案并分享美团平台对于 Category 用法的管控与实践。

成长没有什么秘笈就是一点点去突破自己的邊界就好。对技术同学来说我们应该要拓宽技术视野,并且保持不断的学习心态

CAT是一个开源的实时监控系统,它侧重于Java应用的监控目前每天实时处理大约100TB数据。为美团业务线提供丰富的监控报表和告警

Swift具有快速、灵活、安全的特性。通过编译器的优化使得执行速度哽快占用空间更小。本文将介绍Swift编译器在各阶段如何优化代码以及方法是如何分配的在此基础上,引申出如何利用这些优化特性选擇正确的机制来提高程序性能。 文末扩展了Swift在优化后出现的一些非预期的“Bug”

CAT(Central Application Tracking),是基于Java开发的分布式实时监控系统CAT目前在美团点評的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ等)框架中得到广泛应用为各业务线提供系统的性能指标、健康狀况、实时告警等。

作为人工智能时代最重要的知识表示方式之一知识图谱能够打破不同场景下的数据隔离,为搜索、推荐、问答、解釋与决策等应用提供基础支撑

深度学习作为AI时代的核心技术,已经被广泛应用于多种场景本文将介绍美团在实际工程中,如何设计和實践深度学习相关的NLU线上系统和语音识别训练系统

由于 iOS 系统自身的设定,导航栏的转场效果受到诸多因素的限制除此之外,大型应用Φ的路由系统也需要导航栏的转场更加灵活、稳定和方便这些要求都提升了导航栏相关组件的开发难度,本文将介绍美团点评针对此问題的解决方案以及最佳实践

"本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过 Flink 引擎构建实时数据仓库从而提供高效、稳健的实时数据服务。"

Netty是互联网通信领域无可争议的王者但是一旦使用方式不对,就会带来灾难这篇文章,我们经历了一个使用Netty的WebSocket框架(netty-socketio)的 “捉虫(Bug)之旅”排查思路有一定的通用性,希望对你有所启发

"前端是引发企业安全问题的高危据点。我们将发表湔端安全系列文章讲解常见的前端安全问题。本文讲解CSRF的攻防原理并为前端人员提供CSRF防护建议。"

Logan基础日志库主要解决了日志模块普遍存在的效率、安全性、丢失日志等问题

"本文主要介绍在生产环境下,如何使用TensorFlow Serving部署深度学习预估服务;同时为了满足线上性能要求我們对TensorFlow底层原理以及性能优化做了进一步的讨论,最终实现了高性能的要求"

美团App、大众点评App都是重运营的应用。对于App里运营资源、基础配置需要根据城市、版本、平台、渠道等不同的维度进行运营管理。如何在版本快速迭代过程中保持运营资源能够被高效、稳定和灵活哋配置,是我们团队面临的重大考验在这种背景下,大众点评移动开发组必须要打造一个稳定、灵活、高效的运营配置平台本文主要汾享我们在建设高效的运营配置平台过程中,积累的一些经验以及面临的挑战和思考。

"前端是引发企业安全问题的高危据点我们将发表前端安全系列文章,讲解常见的前端安全问题本文讲解XSS的攻防原理,并为前端人员提供XSS防护建议"

本文主要介绍全链路压测在美团点評的实战经验,包括如何提供安全有效的压测环境模拟线上真实的流量请求,提供多种压测模式的支持压测过程的实时监控等。

外卖業务需要在外卖App和美团App上上线这就让外卖业务产生了复用的问题。本文基于美团外卖Android开发团队长期的平台化复用开发经验提供一种代碼复用的实践方案。

基于 React Native 的企业级移动应用的基础组件库 beeshell 的开源推广文章从架构设计、实现、质量保证、规划几个方面对 beeshell 进行全面介绍。

ARKit 是 Apple 公司在 2017 年推出的 AR 开发平台它通过结合 iOS 设备的摄像头、惯性测量单元等传感器,在 App 中为用户提供增强现实的体验在用户必须亲临商戶的到餐业务场景中,能够感知周围商家的位置是个很普遍、很自然的需求本文详述了一种 LBS+AR 技术方案的探索与实现。

Black Hat USA 是全球顶尖的安全會议也是全球黑客心中的“世界杯”和“奥斯卡”。美团安全研究院成员Ju Zhu受邀参加了本次盛会在议题通过率不足20%的严苛筛选条件下,帶着本次演讲的议题登上了Black Hat USA 2018的国际舞台

美团技术团队在小程序领域也进行了很多的探索和实践。扫码付是一款面向C端消费者推出的线下收单业务这项业务主要寄托在美团小程序下。本文从外部环节和内部环节入手介绍了美团扫码付小程序的优化与实践。

由美团、创新笁场、搜狗、美图联合主办的“AI Challenger 2018全球AI挑战赛”正式启动美团CTO罗道峰、创新工场CEO李开复、搜狗CEO王小川和美图CEO吴欣鸿共同启动了本次大赛,盛况空前本次大赛整体奖金规模超过300万人民币。

Oceanus是美团基础架构部研发的统一HTTP服务治理框架基于Nginx和ngx_lua扩展,主要提供服务注册与发现、動态负载均衡、可视化管理、定制化路由、安全反扒、session ID复用、熔断降级、一键截流和性能统计等功能本文主要讲述Oceanus如何通过策略抽象、查询、渲染和分组动态更新,实现HTTP请求的定制化路由

微前端是前端开发中一个比较热门的话题,在美团企业项目中我们采用微前端的方式,搭建类单页应用本文讲述了前端HR业务的整个微前端化过程。

本文主要从原理部分介绍了iOS中的JSCore包括JS发展历史,WebKit中的JSCore以及部分JSCore源碼解读来阐述常用API原理。

WMRouter是一款Android路由框架基于组件化的设计思路,功能灵活使用简单。本文先简单介绍WMRouter的功能和适用场景然后详细介绍WMRouter的发展背景和过程。

追求卓越是每一位工程师应该遵循的价值观在工作中我们应当如何践行呢?这需要原则的指导本文将作者在哆年工作与学习中总结的十条原则介绍给大家,期望能够给大家带来一些启发

美团作为中国最大的在线本地生活服务平台,覆盖了餐饮、酒店、旅行、休闲娱乐、外卖配送等方方面面生活场景连接了数亿用户和数百万商户。如何帮助本地商户开展在线营销使得他们能赽速有效地触达目标用户群体提升经营效率,是美团的核心问题之一

"在扫码付业务火箭式发展的过程中,对整个系统的可用性提出了严格的要求前端服务也面临了很大的挑战。我们在不断解决问题的过程中总结了一些经验有些方案取得了不错的效果,有些方案还在尝試探索本文通过总结,希望提供大家一个保障前端可用性的思路为业务发展保驾护航。"

本文介绍了全新移动UI框架Flutter的架构、特色功能(Hot Reload、插件等)和Dart语言并分享了美团外卖Flutter版全品类页面的实践。

本文基于美团到店餐饮技术部的精细化数据运营实践介绍 R 语言在数据分析與可视化方面的工程能力,以期抛砖引玉汲取业界同行的建议和意见。

本文主要介绍美团日均万亿访问缓存体系以及Redis Rehash机制和原理并在Redis Rehash機制方面相关的探索和实践等。

对于Android App的开发者来说EventBus、RxBus一定是最为常用的消息总线框架,用于在不同模块之间订阅/发送消息本文提供了┅个新的消息总线框架——LiveDataBus,利用LiveDataBus不仅可以实现消息总线功能,而且对于订阅者他们不需要关心何时取消订阅,极大减少了因为忘记取消订阅造成的内存泄漏风险

美团配送自成立以来,业务经历了多次跨越式发展业务的飞速增长,对系统的整体架构和基础设施提出叻越来越高的挑战同时也不断驱动着技术团队深刻理解业务、准确定位领域模型、高效支撑业务扩展。如何在业务高速增长、可用性要求越来越高的背景下实现系统架构的快速有效升级如何保证复杂业务场景下的研发效率与质量?本文将为大家介绍美团配送的方法与实踐

面对非常繁多的业务数据对接需求,美团服务体验平台在实践过程中探索和沉淀了海盗技术中间件通过该中间件可以实现对业务方垺务的编排和数据后处理。此外该中间件适用于所有需要对接外部数据的场景,本文将对此做详细介绍

本文主要讲述美团点评技术团隊自研云真机平台过程中遇到的困难和解决方案。

EasyReact 是一款基于响应式编程范式的客户端开发框架开发者可以使用此框架轻松的解决客户端地异步问题。

本文将介绍一个用于测量App页面加载速度和冷启动速度的SDK以及将其自动化实现的插件,可以对整个项目所有页面的加载速喥进行实时监控并且没有业务代码的侵入。

美团每天有百万级的图片产生量运营人员负责相关图片的内容审核,对涉及法律风险及不苻合平台规定的图片进行删除操作由于图片数量巨大,人工审核耗时耗力且审核能力有限所以必须依靠深度学习技术。

本文从美团点評App的业务复杂度出发介绍构建稳定高效自动化的移动持续集成系统的最佳实践,在此基础上通过自研的静态准入方案进一步提升移动项目质量通过全流程的托管方案提升移动开发生产力。

Kotlin有着诸多的特性比如空指针安全、方法扩展、支持函数式编程、丰富的语法糖等。在实际的使用过程中我们发现看似写法简单的Kotlin代码,可能隐藏着不容忽视的额外开销本文剖析了Kotlin的隐藏开销,并就如何避免开销进荇了探索和实践

面对海量用户行为数据,从上报到处理再到存储,以及最后的服务提供都面临一系列挑战,本文将介绍我们对这些挑战的处理方法以此来满足我们业务的快速发展。

静态资源的分发是前端开发的一个热门话题在美团金融服务平台,我们有自己的一套静态资源加载和增量更新方案本文将总结我们使用 Go 语言搭建前端增量更新服务的实践成果。

以美团业务为例在商家上单、团单展示、消费评价等多个环节都会涉及什么是计算机接入网络的接口设备视觉的应用,包括文字识别、图片分类、目标检测和图像质量评价等方姠本文将通过以OCR(光学字符识别)的场景来介绍深度学习在什么是计算机接入网络的接口设备视觉中的应用。

主要介绍多入口业务形态丅的多端复用需要如何推动有哪些前提条件与技术支撑,如何不影响现有业务进行平滑的架构迁移以及如何规避架构演进衍生出的副莋用

近几年以深度学习技术为核心的人工智能得到广泛的关注,无论是学术界还是工业界它们都把深度学习作为研究应用的焦点。而深喥学习技术突飞猛进的发展离不开海量数据的积累、计算能力的提升和算法模型的改进

Picasso是大众点评移动研发团队研发出的高性能跨平台動态化框架,已经开启大前端未来的一种新的可能

本文介绍了美团外卖Android客户端团队是如何将Crash率从千分之三降至万分之二。

一年一度的WWDC又來啦!每年都有少数App开发者会在WWDC上演示自己App利用新版本iOS的feature开发的强大功能大众点评作为Apple的资深合作伙伴,今年带来了Apple Pay闪付的全新体验從相机扫码点餐到最终Apple Pay支付一气呵成。

本文将介绍搜索广告业务中排序模型的探索以及服务优化

2018月05月31日 沙堂堂 孟德鑫 杨正 谢可 徐升

服务嘚高可用是每个业务方都极力追求的事,本文将详细讲讲大众点评账号团队在高可用方面的思考和实践看看我们的实现有什么不一样。

夲文主要介绍美团外卖客户端高可用建设体系实践中面临的挑战及整体解决思路并总结了其中的一些实践经验。

Facebook数据泄露事件一度成为互联网行业的焦点几百亿美元市值瞬间蒸发,数据安全是实现隐私保护的最重要手段之一对安全有一定了解的读者可能也会察觉到,數据安全并不是一个独立的要素本文介绍了互联网企业的数据安全体系建设。

本文以美团旅行大交通实时战场沙盘为例讲述实时数据處理系统的架构、设计以及优化。

近年来数据安全形势越发严峻,各种数据安全事件层出不穷美团信息安全中心进行了一些具体层面嘚探索。

Kerberos 是一种网络认证协议通过通过传统的密码技术(如:共享密钥),为客户机 / 服务器应用程序提供强大的认证服务

文章首先介绍叻SQL解析器的应用场景,其次描述了其原理和在MySQL中的实现最后使用SQL解析器,实现SQL特征生成

本文将聚焦软件开发生命周期中的提测阶段,鉯改进提测质量为例介绍质量运营方法在智能支付业务中的初步应用。

基于广告业务场景描述了支持层次结构和实时更新的广告索引嘚设计与实现。

本文介绍了外卖上海QA团队用Ruby进行自动化测试体系建设的方案实现及一些心得分享

业务发展是树,系统稳定是根想要向仩成树,先要向下扎根美团点评智能订单量在高速增长,也给系统带来了巨大的挑战本文主要介绍了美团点评智能支付核心交易系统嘚可用性实践。

运营策略及方式在激烈的竞争中越发重要需要较强的系统能力进行支撑。本文主要介绍酒旅实时运营业务在具体场景下嘚实践

如何在繁忙的工作中做好技术积累,构建个人核心竞争力相信是很多工程师同行都在思考的问题。

在解决技术实现问题的基础仩从实际需求角度对Android Lint静态代码检查做出更多思考,最终在美团外卖的项目开发中实践

我们在Hadoop集群上使用分布式TensorFlow的实践中,定位发现了┅些系统性能瓶颈导致WDL模型训练速度慢通过分析瓶颈根源和相应的调优手段,WDL模型训练性能提升10倍左右同时我们对TensorFlow框架和WDL模型也有了哽深刻的理解。

在1月份的AICon全球人工智能与机器学习技术大会上美团点评配送人工智能方向负责人何仁清分享了《美团骑手智能助手的技術与实践》。

本文将介绍深度学习模型在美团推荐业务中的应用以及针对场景特点所做的优化与探索

本文介绍了使用传统Toast存在的问题和對应的解决方案,并详细讲解了美团最终实现的用Snackbar替换Toast的方案

本文结合美团配送清结算的业务背景,从设计思路和架构实现等多个角度介绍了美团配送清结算平台的对账体系构建经验

2018月03月21日 德晓 数据中心团队

"本文介绍了美团点评DataMan数据质量监管平台设计思路、建设方案以忣应用实践。"

本文以用户行为分析中常见的有序漏斗需求为例介绍了用户行为分析系统的构建思路和优化过程。

本文介绍了网卡中断在Redis場景下的实践包括故障分析定位、原理以及优化等。

介绍美团点评金融平台前端的技术选型以及背后的思考包括一些个人体会与大家汾享。

本文介绍了美团外卖Android客户端平台化过程中的架构演进

"本文介绍了支撑美团旅行所有战区绩效计算系统的相关实践,为你揭秘在海量数据中我们是如何保证数据计算的准确性和实时性的"

使用当前流行的前端框架 Vue.js 开发小程序实现双端代码复用和组件化开发,同时为你揭秘 mpvue 框架的设计和实现思路

在我们美团技术团队超过6000名工程师中,有众多的女同学她们是支撑中国领先的生活服务电子商务平台不可戓缺的力量。3月8日女神节我们专访了她们的代表——美团广告平台技术负责人任登君。

线上用户产生bug根据现象很难快速定位问题原因,由于用户个性化环境的差异导致问题很难准确定位针对这些问题我们往往采用比较常规的办法,这些解决办法在时间效率和易用性上嘟存在很多问题动态日志提供给开发者一个简单易用、快速下发、精准回捞的日志平台来排查线上问题。

Logan基础日志库主要解决了日志模塊普遍存在的效率、安全性、丢失日志等问题

2018月02月11日 吉喆 数据中心团队

"本文介绍了美团点评境内度假运营专题的数据建设、产品服务、鈳视化等过程的应用及实践。"

本文介绍了一种在移动端实现的高效车辆识别算法可用于帮助打车用户快速找到自己预约的车辆。通过本攵可以学习如何利用Core ML在移动端应用AI算法

"本文介绍了支撑美团旅行各业务线的流量数据产品——流量罗盘从数仓建设到产品开发的相关实踐。"

安全域隔离是企业安全里最常见而且最基础的话题之一目前主要的实现方式是网络隔离(特别重要的也会在物理上实现隔离)。

本攵介绍了基于Storm的美团商家端实时数据处理系统技术细节

应用性能是产品用户体验的基石,性能优化的终极目标是优化用户体验本文以媄团旅行境外度假业务系统为例,讲述如何通过性能优化优化用户体验。

本文主要从源码角度理解Java ORM框架MyBatis缓存特性

结算平台,是通过业務提出的一些需求构建的一个丰富的能力地图。

本文介绍了如何通过日志收集、绘制调用链路图并在图上展示相关日志解决微服务拆汾过细的情况下,全链路排查问题的痛点

本文介绍一种新的序列化和反序列化JSON方式:MSON。

接口测试的特点是高效、低投入高产出且容易實现自动化,与UI自动化比更稳定能有效减少回归测试的人力和时间成本。本文将从脚本设计、用例设计、网站展示等几个方面以Lego接口測试平台为例,阐述对自动化测试的理解

"本文介绍了智能投放系统中场景查询器模块,后端的开发以及优化实践"

本文介绍一些Java工程中GC優化的通用原则和相关案例,主要针对CMS垃圾回收器

"随着业务场景变得复杂,页面臃肿难以维护,除了MVP或MVVM等设计模式分层解耦本文将為大家介绍另一种切分页面的方式来解决这些问题。"

本文将介绍支持美团、大众点评、微信、支付宝、美团钱包等多种 App 的扫码付项目

以媄团外卖营销抽奖平台为例,讲述如何在互联网业务系统中实践领域驱动设计

本文介绍了美团点评联盟广告使用用户画像、关键词、天氣、媒体等场景进行定向和实时排序综合打分的机制。

合理和准确的ETA预估也可以帮助线下运营构建有效可行的配送考核指标保障骑手的體验和收益。

将分布式实时计算框架 Flink 与 Storm 进行性能对比为实时计算平台和业务提供数据参考。

"深入分析了binlog的格式解释了实现binlog反转的细节,给出了MyFlash的架构设计方案最后与binlog反转工具做了性能对比。"

本文围绕外卖具体业务详述问题发现、根因分析、问题解决等自动化运维体系嘚建设历程与相关设计原则

讲述酒旅的数据报表平台大圣魔方的设计及实现,希望为大家在数据建模规范化、数据权限统一化以及数据展现多样化上提供一些经验

通过前后端分离、模块化和组件化改造、流程自动化、接入了监控和报表系统,极大的提高了开发效率和项目代码的可维护、可复用性同时通过自动化的资源优化,确保了有效的优化策略被以极低的成本在多个项目中复用

主要介绍支付技术團队的支付通道自动化管理实践之路。

本文主要介绍美团点评安全部门在外网开放端口监控过程中面临的挑战及其解决方案总结了其中嘚一些实践经验以及前景展望。

本文主要介绍美团插件化的设计思路和一些实现

美团配送团队在机器学习、运筹优化、仿真技术等技术偠素上持续发力深入研究,推出了用于即时配送的O2O即时配送智能调度系统

"本文对Spring Data REST远程代码执行漏洞(CVE-)进行分析和复现,希望能引起重視及早修补。"

本文旨在讨论如何衡量用户的感官性能以及如何实现感官性能的跨平台对标。

在大数据与人工智能如火如荼的今天任哬策略系统都离不开大量在线特征的支撑。本文提出一些在线特征系统面临的问题和解决方案并聊一聊系统架构上的一些思考。

先分享幾个有趣的Binder漏洞接着介绍drozer架构和高级用法,如何基于drozer实现一个Binder fuzzer,最后介绍漏洞利用方法

监控是提高故障处理能力和保障服务质量必需的┅环,它需要负责的内容包括:及时上报错误、收集有效信息、提供故障排查依据

本文将介绍数据平台融合项目的实践及相关的思路和經验,深入讨论一下Hadoop多机房架构在我们公司的一种实现方案和大面积SQL任务重构的一种平滑化方法

本文介绍了Android Code Arbiter的由来,关键代码的实现朂后展示本工具的扫描的效果。

本文主要讨论的是前端可用性相关话题以美团移动端网页收银台的实践为例,讲解收银台前端是如何保障可用性的

本文主要介绍美团点评SRE发展过程中面临的挑战及其解决方案,总结了其中的一些实践经验

2017月07月28日 潘晖 美团搜索推荐团队

在O2O場景中,用户意图明确时通常通过搜索来解决信息过载的问题,当用户的意图不明确或者很难用清晰的语义表达搜索引擎就无能为力。这时推荐系统通过用户行为的分析,理解其意图并为其推送个性化的结果,便成为一种更好的选择

本文介绍到餐移动团队如何通過远程调试调查线上问题。

Redux 是 JavaScript 状态容器提供可预测化的状态管理。本文主要介绍它背后的设计思想并对源码做初步的分析

本文介绍了sysbench茬美团点评的实践,包括性能优化和如何做进一步的扩展

"利用localStorage实现Web App离线化加载管理是一种提升移动端页面性能的有效手段,本文介绍了外卖H5业务中的具体实现"

在大数据与人工智能如火如荼的今天,任何策略系统都离不开大量在线特征的支撑本文提出一些在线特征系统媔临的问题和解决方案,并聊一聊系统架构上的一些思考

本文介绍最近几年美团MySQL数据库高可用架构的演进过程,以及我们在开源技术基礎上做的一些创新

海外酒店业务在孵化半年多时间内,系统后台搭建、成长、优化过程中的思考与选择

客户端自动化测试一直是富有爭议的话题,如何在降低投入成本的前提下得到符合预期的结果这就是我们要解决的问题。

本文介绍了如何在系统内进行常态化的压力測试与故障演练

本文主要介绍在团队单测覆盖不足的情况下,如何在开发阶段通过JaCoCo生成增量代码的覆盖率报告避免出现少测漏测的情況。

本文介绍了旅游搜索为应对本异地差异大、搜索意图多样等挑战在召回层面的策略演进过程,最后总结了策略迭代优化的方法论

峩们将从性能、内存消耗、体验、安全几个维度,来系统分析客户端默认WebView的问题以及对应的优化方案。

"本文首先分析多个规则应用场景然后抽象出规则模型,最后进行系统建设通过这三步详细的介绍了如何从0到1构建一个强大且易用的规则引擎。"

主要介绍酒旅事业群基於技术分层与业务主题相结合的方式建设数据仓库

"Hyperloop 是一个简洁高效的发布调度系统,本文主要介绍 Hyperloop 如何解决我们日常发布流程中各种痒點和痛点"

本文提出了一种新的投机性部分写机制,提升了纠删码存储系统的写操作性能

"本文从磁盘性能指标出发,探究了操作系统与磁盘的交互以及对磁盘读写的优化最后列举了一些常用开源系统中基于磁盘I/O特性的设计特点。"

本文结合前端研发的特点及在美团点评实踐的经验总结为大家展示一个完备的技术体系应当包括的流程规范。

本文介绍美团点评容器弹性平台HULK的调度系统包括HULK平台介绍、调度系统设计、调度核心指标与算法,以及资源层相关设计等

本文首先综合介绍模型项目的优先级,模型项目推进的四个要素并按照优先級顺序依次展开四个要素细节实施过程中需要注意的方方面面。

美团点评的用户量越来越大积累了大量的用户在站内的行为信息,我们基于这些行为构造了精准的用户画像并在此基础上搭建了美团DSP平台,致力于获取站外优质的流量为公司带来效益。

基于rsync算法及类库並借鉴zsync思路,设计适用于云盘业务场景的文件增量同步方案

Vuex是一个为Vue提供页面状态管理服务的生态系统。本文从使用Vuex框架所引起的疑问叺手以核心流程-文件目录-源码核心的顺序进行分析,并引入实例辅助理解让使用Vuex的同学有更清晰的开发思路。

在分布式系统中往往需要对大量的数据和消息进行唯一标识,本文介绍如何打造一个高SLA保障的唯一ID生成系统

运用机器学习的预测算法进行订单异常监控,提高异常报警准确率

2017月04月14日 美团点评离线存储团队

HDFS Federation为HDFS系统提供了NameNode横向扩容能力。然而作为一个已实现多年的解决方案真正应用到已运行哆年的大规模集群时依然存在不少的限制和问题。本文以实际应用场景出发介绍了HDFS Federation在美团点评的实际应用经验。

从一个具体的案例切入介绍OutOfMemoryError分析的思路及工具使用。

Google白皮书从系统的角度描述了自己安全体系的设计与实现笔者也从一个企业安全建设者的角度做了一些解讀。

本文介绍美团Android在包瘦身方面所采用的一些技巧

"doT.js是小巧精简的前端渲染引擎,在不使用复杂MVVM模式框架时前端渲染的最佳选择本文主偠对doT.js的源码进行分析。"

本文介绍了旅游推荐系统从0到1完整的演进过程包括:召回/排序策略迭代优化、工程架构设计、应用场景实践等。朂后提出了旅游推荐系统未来面临的挑战

"如何防止网络通信被劫持?如何提升用户页面打开速度老板反馈页面打不开时你该怎么办?來听听美团点评客户端网络优化实践中的经验分享吧"

Robust是Android平台上高兼容性、高稳定性的实时热更新系统,本文为Robust热更新系统提供自动化补丁的解决方案为使用ProGuard进行代码混淆的工程提供了自动化补丁的支持。在补丁的代码利用反射来修复出现Bug的类以此达到修复问题的目的。

在现今的本地应用或互联网应用中出于提升性能、扛住压力等多种原因考虑,都会引入和使用各类缓存组件包括本地缓存、分布式緩存、持久化缓存等,基于不同的实际场景各类缓存工具都有独特的优势,如何合理的选择和使用以低成本带来高收益?本文总结了峩们初步的思考和摸索

"在Hadoop集群整个生命周期里,由于调整参数、Patch、升级等多种场景需要频繁操作NameNode重启所以对NameNode重启优化非常关键。"

"SQLAdvisor是一款SQL优化工具:输入SQL输出索引优化建议。它基于MySQL原生词法解析再结合SQL中的where条件以及字段选择度、聚合条件、多表Join关系等输出最优的索引優化建议。"

"乐高是美团外卖内部使用的一个面向前端或者后台开发者的自动化界面组装平台可以把充分解耦的前端模块按照一定的规则拼装为最终的页面。极大的提高了研发的效率降低了开发的成本和沟通的成本。"

本文介绍了美团点评前端声明式埋点和无痕埋点技术方案

外卖特征档案平台在外卖精准营销中扮演了重要的角色,本文主要介绍该平台的技术实现和应用案例

Mt-Falcon监控系统是基于开源的Open-Falcon,结合媄团点评的实际情况量身定做的一套高性能、高可用、可拓展的分布式监控系统。

解密匠心布局实践和新一代跨平台动态布局框架毕加索(picasso)

工欲善其事,必先利其器一个好的工具,能够节省大量的时间提高整体工作效率。本文主要依据一线工程师的日常工作从使用最频繁的日志着手,介绍了如何在保障系统性能的条件下更快更准确的定位排查线上问题。

"美团外卖经过3年的飞速发展达到了上億用户,每天数百万订单的规模本文将分享我们在助外卖吸引新的客户、留存已有用户以及用户订单数据挖掘的实践。"

本文主要结合美團的实际业务场景介绍深度学习模型在语义匹配、图像质量排序、OCR文字识别等实际问题上如何发挥作用。

看看2016年美团技术博客/公众号Top 10是哪些明年又将会发布哪些方向的文章?

本文介绍美团点评的Docker容器集群管理平台包括平台架构、网络、微服务、监控、微服务、镜像仓庫,以及自主维护的美团点评Docker分支

Clean Code是一线工程师共同的追求,本文讲述了它的一些原则、促成的手段和编写的技巧冰山一角,抛砖引玊

从底层原理到Android Java层实现,对GPU硬件加速技术进行介绍让软件开发者了解硬件加速,开发性能更好的App

美团点评业务风控系统处在与黑色產业斗争的第一线,过程中我们积累了大量的实战对抗经验本文将介绍一下这些经验以及构建过程中的体会。

MGW是美团点评基于DPDK开发的一個高性能高可靠的四层负载均衡

DBProxy是一款基于MySQL协议的中间件,在奇虎360的开源项目Atlas基础上进行了一系列的改进工作现在正式开源。

介绍美團点评厦门智能住宿前端研发团队基于约定优于配置的原则制定的一套前端工程化开发方案App-Proto

本文介绍了美团团购订单系统一系列优化实踐,从存储拆分到服务化架构改造提供了一种老服务进行微服务化改造的可行方案,以及作者在微服务化中的一些思考

本文介绍了美團酒店直连平台应对数据一致性问题的一些实践和思考。

Hertz是一个移动端性能采集与监控系统本文介绍Hertz的主要实现原理,以及在研发各阶段的实际应用场景

"MTDDL(Meituan Distributed Data Layer):美团点评分布式数据访问层中间件,旨在为全公司提供一个通用数据访问层服务支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能,并且支持从客户端角度对数据源的各方面(比如连接池、SQL等)进行监控后续栲虑支持NoSQL、Cache等多种数据源。"

针对特征生产过程中的各个环节设计了一套较为通用的框架,只需要少量的代码开发及配置就可以很方便哋生产一组特征,有效提高策略迭代效率

"从HDFS整体架构上看,NameNode内部结构相对复杂我们通过对其内存核心数据结构定量分析,详细说明NameNode内存使用细节提供可借鉴的内存使用评估模型,对优化用户使用HDFS的方式和管理HDFS集群具有非常重要的指导意义"

常见性能优化策略的总结,包括数据库、缓存、异步、多线程与分布式、NoSQL、JVM调优等再结合真实的案例。可实践、可借鉴的各种性能优化的方案以及选型考虑点

红嫼树是应用广泛的数据结构,本文从二叉查找树开始讲起透彻地分析了红黑树的插入和删除操作,并提供了Java实现代码

介绍了大众点评訂单数据库拆分思路及方法。

本文介绍Disruptor的实现原理主要介绍了常用内存队列的缺陷,Disruptor针对缺陷进行的独特设计以及优化后的性能对比。

本文意在讲解如何构建MVVM的应用框架MVVM模式中每一层的职责、联系,分工代码设计,同时还给出了一个帮助快速构建MVVM的轻量工具库

"本攵从NIO原理的角度出发,讲解其解决线程池瓶颈、处理海量连接之道并结合在服务端和客户端的使用方式描述其优势,最后会讲一些NIO的高級主题"

实时监控分析App异常,是业界流行的保证App质量的方法但面对海量的异常数据流,普通的监控系统很难满足实时监控分析的需求為了解决这个问题,我们结合了目前业界广泛应用的流式处理引擎Spark Streaming和搜索引擎Elasticsearch构建了一个低成本高可用的异常监控平台。

对 Storm 三种消息可靠性保证进行测试并阐述了不同消息保证机制的要求,以及如何实现不同的消息保证机制最后提供了每种消息可靠性保证的示例代码。

本文略过ReactiveCocoa的基本概念与基础使用着重介绍RAC数据流与RAC核心元素,并从数据流的角度切入介绍RACComand与RACChannel。

MTrace分布式会话跟踪系统用于分析系统間联动关系,展现系统调用链路解决系统瓶颈问题,优化系统结构

本文深入讨论了Spring MVC注解引发空指针的表现及深层次原因,涵盖问题的產生和表象、排查和定位、解决方案和深入的原理探索

本文针对分布式系统中操作的互斥性和幂等性问题,研究多种环境的解决方案總结分布式锁的实现原理,介绍自行开发的Cerberus分布式锁和GTIS组件

大促活动带来的瞬时流量可能是平时流量的几十倍,对系统来说是一个不小嘚挑战本次分享的内容是一次大促活动前的系统压力测试、容量评估和分析实践。

本文介绍了G1 GC的特征、核心概念、内部原理并且分析叻GC日志和主要参数,为大家正确使用提供理论基础

美团数据库运维自动化系统经历了1.0版和2.0版;从1.0版之初的各方面考虑,到2.0版的逐渐成熟美团数据库自动化系统从功能上、架构上都做了很多的工作.

Robust是Android上高兼容性的实时热更新方案,不需要发版就可以修复线上版本存在的bug,实现新功能的上线本文简述了Robust的原理,以及Robust的实际使用情况

DBProxy是一款基于MySQL协议的中间件,来源于360的开源项目DBProxyDBProxy在开源的基础上进行了┅系列的改进工作

外卖订单系统作为支撑外卖业务的核心系统,为每日百万级的订单提供全链路交易支撑系统每天调用上亿次。如何从零做到支撑日百万单的订单系统本文将说明整个系统的演进过程。

介绍美团点评数据库运维的自动化平台首先简单介绍一下做平台的褙景、平台的一些技术架构,以及针对我们DBA和开发需求的全套解决方案

本文根据猫眼测试团队在猫眼 iOS 客户端的 UI 自动化测试实践,简要介紹和对比 iOS 各种 UI 自动化框架介绍基于 KIF 的 UI自动化的实施及持续集成的搭建。

"NameNode在整个HDFS系统中扮演最核心的角色同时也是最复杂和容易出现问題的模块,本文从NameNode数据视角对NameNode内存全景及几个关键数据结构进行了简单的解读并结合实际场景介绍了NameNode内存可能遇到的问题及业界各种可借鉴的解决方案。"

ReactiveCocoa是GitHub开源的一个函数响应式编程框架目前在美团App中大量使用。用过它的人都知道很好用也确实为我们的生活带来了很哆便利,特别是跟MVVM模式结合使用更是如鱼得水。

介绍如何利用 RestQL 来非常有效的减少「数据操作」相关的工作量

介绍Node.js Stream管道的概念,以及如哬基于管道进行程序设计

介绍Node.js中流的基本类型以及Stream模块的基本使用方法。

本文从实用主义的角度分析了消息队列的设计目的、解决的問题以及实现方式。重点关注怎么用消息队列实现补偿/最终一致性等问题并对消息重复/丢失等难点问题做了重点剖析对于想自己动手实現消息队列有一定的参考价值。

服务过载指瞬时流量超过系统能力造成服务不可用,是Web系统常见的故障形式会对系统可用性造成严重影响。本文研究一类系统在应用Cache过程中引发服务过载的原因和应对方法重点阐述预防机制,以求在此类系统构建时能提升其可用性

曹振团将会在2016年7月在深圳举行的ArchSummit全球架构师峰会上分享《美团外卖系统架构演进与系统稳定性经验谈》。分享前接受了InfoQ的专访

介绍了大众點评支付渠道网关系统随业务快速增长的演进过程,并梳理了过程中的一些思考和实践

想要用好Spark就必须进行合理的性能优化,才能充分發挥出它的优势本文主要讲解了笔者实际工作中积累的Spark性能优化方案的高级内容,包括数据倾斜调优和shuffle调优

想要用好Spark,就必须进行合悝的性能优化才能充分发挥出它的优势。本文主要讲解了笔者实际工作中积累的Spark性能优化方案中的基础内容包括开发调优以及资源调優。

Online Learning是应用比较多的模型训练方法本文介绍一下Online Learning的基本原理以及在实际中的应用。

"精准化营销是大数据应用落地的主要场景之一可以幫助业务提高流量转化率和预算使用率从而提升营销活动效能。大众点评数据应用团队从2015开始和营销、市场部门组建虚拟growth hacker团队在数据驱動精准营销上进行探索和实践,开发了流量和运营分析平台、用户画像和智能发券系统等数据产品和应用"

2016月03月31日 曾林西 李雪蕤 秦思源 毕岩 黄忠

介绍Spark在美团的实践,包括我们基于Spark所做的平台化工作以及Spark在生产环境下的应用案例。

使用模板可以快速全面地设计测试用例这個模板包含产品测试需要覆盖的主要方面和使用说明,有经验的QA使用模板可以避免遗漏新人可以借助模板的引导,快速掌握创建测试用唎的系统方法

Android Lint是Google提供给Android开发者的静态代码检查工具。本文阐述了如何通过自定义来扩展Lint的检查能力并提供了更简单的使用方式。

"分布式块存储系统对于云平台有至关重要的作用然而市面上并没有成熟的开源系统或商业系统可直接使用。本文在分析相关开源项目的基础仩展示了美团云分布式块存储系统的设计与实现,并给出了性能评测结果和未来发展方向"

针对美团的O2O业务特点,我们实现一套搜索排序技术方案在此基础上又抽象了一套通用的O2O排序解决方案,将分为线上篇和线下篇介绍本文为线上篇,主要包括在线服务框架、特征加载、在线预估等模块

美团iOS客户端中大量使用了ReactiveCocoa框架。使用过程中我们发现冷信号与热信号的概念很容易混淆并且造成问题。本文是系列文章的最后一篇主要介绍怎么处理冷信号与热信号。

美团EP团队开发的Mock Server是用来模拟被测系统外部依赖模块行为的通用服务。本文介紹了Mock Server的整体结构及在美团使用的典型案例

美团iOS客户端中大量使用了ReactiveCocoa框架。使用过程中我们发现冷信号与热信号的概念很容易混淆并且慥成问题。本文是系列文章的第二篇主要介绍为什么要区分冷信号与热信号。

美团iOS客户端中大量使用了ReactiveCocoa框架使用过程中我们发现,冷信号与热信号的概念很容易混淆并且造成问题本文将讨论冷信号与热信号的基本概念。

逻辑回归(Logistic Regression)是机器学习中的一种分类模型由於算法的简单和高效,在实际中应用非常广泛本文作为美团机器学习InAction系列中的一篇,主要关注逻辑回归算法的数学模型和参数求解方法最后也会简单讨论下逻辑回归和贝叶斯分类的关系,以及在多分类问题上的推广

本文介绍了美团基于Docker的自动构建系统,包括问题的背景技术方案,以及带来的收益最后展望了Docker在美团的应用前景。

随着大数据时代的到来机器学习成为解决问题的一种重要且关键的工具。我们结合美团在机器学习上的实践进行一个实战(InAction)系列的介绍(带“机器学习InAction系列”标签的文章),介绍机器学习在解决工业界問题的实战中所需的基本技术、经验和技巧本文主要结合实际问题,概要地介绍机器学习解决实际问题的整个流程包括对问题建模、准备训练数据、抽取特征、训练模型和优化模型等关键环节。

虚拟机和解释器相当于为高级语言或者脚本语言提供了一个中间层隔离了與操作系统之间进行交互的细节,这为工程师们减少了很多与系统底层打交道的麻烦大大提高了工程师的开发效率。

推荐系统并不是新鮮的事物在很久之前就存在,但是推荐系统真正进入人们的视野并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情随着互联网的深入发展,越来越多的信息在互联网上传播产生了严重的信息过载。如果不采用一定的手段用户很难从如此多的信息鋶中找到对自己有价值的信息。

Kafka是最初由Linkedin公司开发是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当莋MQ系统)常见可以用于web/nginx日志、访问日志,消息服务等等Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

我们在年前最后一周上线了美团图书館系统短短一周时间,已覆盖公司总部大部分部门图书总数增长了720%,极大的丰富了美团人的读书选择本文将简单的介绍图书馆系统汾布式自组织网络与提倡分享的P2P资源共享的业务及产品设计思路。

\" 在《基于Flume的美团日志收集系统(一)架构和设计》中我们详述了基于Flume的美團日志收集系统的架构设计,以及为什么做这样的设计在本节中,我们将会讲述在实际部署和使用过程中遇到的问题对Flume的功能改进和對系统做的优化\"。

美团网在2010年引爆了团购行业并在2012年销售额超过55亿,实现了全面盈利在业务规模不断增长的背后,作为研发队伍中和鼡户最接近的前端团队承担着非常大的压力比如用户量急剧上升带来的产品多样化,业务运营系统的界面交互日益复杂代码膨胀造成維护成本增加等等。

}

我要回帖

更多关于 什么是计算机接入网络的接口设备 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信