![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
美团技术
liuhuiteng
这个作者很懒,什么都没留下…
展开
-
基于Flume的美团日志收集系统(一)架构和设计
背景 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。 《基于Flume的美团日志收集系统》将分两部分给读者呈现美团日志收集系统的架构设计和实战经验。 第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计。 第二部分改进和优化,将主要着眼于实际部署和使用过程中遇到的问题,对Flume做的功能修改和优化等。 1 日志收集系统简介 日志收集是大数据的..原创 2020-08-06 08:53:05 · 295 阅读 · 0 评论 -
CentOS6上Hadoop集群中服务器cpu sys态异常的定位与解决
问题现象 在zabbix系统中,对Hadoop集群的历史监控数据分析时,发现在执行大Job任务时,某些服务节点的cpu sys态很高; 具体以hadoop_A服务节点为例,在10:15-10:40这个时间段,cpu user态为60%,而sys态则高达35%; 对于整个Hadoop集群,并不是所有的节点都会出现sys过高的问题,产生此类问题的都是部署CentOS6系统的节点。 定位分析 1. 根据zabbix系统中cpu sys很高的问题发生时间,找到触发问题的大Job,以便于后面的问题重..原创 2020-08-06 08:47:30 · 237 阅读 · 0 评论 -
深入解析String#intern
在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种: 直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串是否存在,若不..原创 2020-08-06 08:36:21 · 224 阅读 · 0 评论 -
AC算法在美团上单系统的应用
1.背景 在美团,为了保证单子质量,需要对上单系统创建的每一个产品进行审核。为了提高效率,审核人员积累提炼出了一套关键词库,先基于该词库进行自动审核过滤,对于不包括这些关键词的产品信息不再需要进行人工审核。因此,如何在页面中快速的检测是否包含了这些关键词就变得非常重要。 对于上述问题我们描述为如下的形式: 给定关键词集合P={p1,p2,……,pk},在目标串T[1…m]中找到出现了哪些关键词。 很容易想到的方法就是针对每个单词去匹配一遍,最后总结出都哪些单词匹配成功。 考虑KMP算法,单个关..原创 2020-08-06 08:19:37 · 272 阅读 · 0 评论 -
OpenTSDB 造成 Hbase 整点压力过大问题的排查和解决
业务背景 OpenTSDB 是一款非常适合存储海量时间序列数据的开源软件,使用 HBase 作为存储让它变的非常容易扩展。我们在建设美团性能监控平台的过程中,每天需要处理数以亿计的数据,经过几番探索和调研,最终选取了 OpenTSDB 作为数据存储层的重要组件。OpenTSDB 的安装和配置过程都比较简单,但是在实际的业务应用中,还是会出现这样那样的问题,本文详细介绍我们在OpenTSDB 实际使用过程中遇到的 HBase 整点压力过大的问题,期望对大家有些参考意义。 问题的出现 性能监控平台使用..原创 2020-08-06 08:14:02 · 470 阅读 · 0 评论 -
Docker系列之二:基于容器的自动构建
自动构建系统是从美团的自动部署系统发展出来的一个新功能。每当开发人员提交代码到仓库后,系统会自动根据开发人员定制的构建配置,启动新的Docker容器,在其中对源代码进行构建(build),包括编译(如Java、C++和Go)、预处理(如Javascript和CSS)、压缩(如图片)等操作,生成最终需要上线的程序包。 美团的代码发布系统有中央控制节点,负责代码的拉取、应用的构建和上传等任务。随着业务的迅速增长,应用发布项的数目和单个发布项的服务器数量也随之增长,中控节点的任务加重,几个问题也变得亟待解决..原创 2020-08-05 10:55:25 · 451 阅读 · 0 评论 -
Mock Server实践
背景 在美团服务端测试中,被测服务通常依赖于一系列的外部模块,被测服务与外部模块间通过REST API或是Thrift调用来进行通信。要对被测服务进行系统测试,一般做法是,部署好所有外部依赖模块,由被测服务直接调用。然而有时被调用模块尚未开发完成,或者调用返回不好构造,这将影响被测系统的测试进度。为此我们需要开发桩模块,用来模拟被调用模块的行为。最简单的方式是,对于每个外部模块依赖,都创建一套桩模块。然而这样的话,桩模块服务将非常零散,不便于管理。Mock Server为解决这些问题而生,其提供配..原创 2020-08-05 10:49:53 · 1468 阅读 · 0 评论 -
使用模板快速编写测试用例
在高速发展的互联网公司,由于产品的开发迭代太快,产品测试经常遇到以下几个问题: 1. 如何在快速的产品开发迭代中迅速地完成对产品功能的测试? 2. 面对用户众多、环境多样,如何尽可能地测试全面? 3. 公司扩张迅速、新人多、经验不足,如何使新人迅速上手进而独当一面? 下面介绍一种使用模板来设计测试用例的方法,这个模板包含产品测试需要覆盖的主要方面,每个方面都有使用说明,有经验的QA使用模板可以避免遗漏,新人可以借助此模板的引导,快速掌握创建测试用例的系统方法。 测试用例模板和说明如下: ..原创 2020-08-05 10:44:17 · 974 阅读 · 0 评论 -
Node.js Stream - 实战篇
前面两篇(基础篇和进阶篇)主要介绍流的基本用法和原理,本篇从应用的角度,介绍如何使用管道进行程序设计,主要内容包括: 管道的概念 Browserify的管道设计 Gulp的管道设计 两种管道设计模式比较 实例 所谓“管道”,指的是通过a.pipe(b)的形式连接起来的多个Stream对象的组合。 假如现在有两个Transform:bold和red,分别可将文本流中某些关键字加粗和飘红。 可以按下面的方式对文本同时加粗和飘红: // source: 输入流// dest: 输出目..原创 2020-08-05 10:16:18 · 195 阅读 · 0 评论 -
美团数据库运维自动化系统构建之路
本文整理自美团点评技术沙龙第10期:数据库技术架构与实践。 美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 目前沙龙会分别在北京、上海和厦门等地举行,要参加下一次最新沙龙活动?赶快关注微信公众号“美团点评技术团队”。 本次沙龙主要围绕数据库相关的主题,内容包括美团数据库自动化运维系统构建、点评侧MySQL自动化服务平台RDS、美团数据库中间件、和小米高级DBA带来的Redis Cluster的大规模运维实..原创 2020-08-05 10:11:00 · 468 阅读 · 0 评论 -
大众点评订单系统分库分表实践
原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。 这次切分,我们的目标是未来十年内不需要担心订单容量的问题。 先对订单库进行垂直切分,将原有的订单库分为基础订单库、订单流程库等,本文就不展开讲了..原创 2020-08-05 09:31:43 · 455 阅读 · 0 评论 -
MGW——美团点评高性能四层负载均衡
本文整理自美团点评技术沙龙第14期:美团背后的故事-你不知道的美团云。 美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 目前沙龙会分别在北京、上海和厦门等地举行,要参加下一次最新沙龙活动?赶快关注微信公众号“美团点评技术团队”。 本期沙龙包括三场讲座:美团云Docker平台、美团云对象存储系统、美团四层负载均衡网关MGW。其他几场讲座的图文实录会陆续发表,请继续关注。 在高速发展的移动互联网时代,负载均..原创 2020-08-05 09:03:54 · 358 阅读 · 0 评论 -
业务赋能利器之外卖特征档案
应用背景及现状 美团外卖业务自2013年9月启动至今已运营三年时间。截至2016年12月,美团点评整个外卖平台的日订单超过900万。从发展速度和体量上看,外卖业务仍处在迅猛发展的上升期。与早期飞速增长的状态相比,随着规模的不断扩大,业务的发展需要更健康、高效,这就对业务对象、业务环节的整体业务运营管理提出更高的要求。 特征档案平台向各业务提供了用户/商户筛选和档案管理服务,同时提供了数据查询、存储、生成、导出等数据管理功能,能够提高运营工作效率。当前用户特征档案平台覆盖全部的外卖用户,有特征标签近2..原创 2020-08-05 08:35:50 · 260 阅读 · 0 评论 -
美团点评移动网络优化实践
本文根据第16期美团点评技术沙龙“移动开发实践(上海站)”演讲内容整理而成。 第18期沙龙:高可用系统背后的基础架构(3月25日)火热来袭!快快点击报名吧。 网络优化对于App产品的用户体验至关重要,与公司的运营和营收息息相关。这里列举两个公开的数据: “页面加载超过3秒,57%的用户会离开。” “Amazon页面加载延长1秒,一年就会减少16亿美金营收。” 在做网络优化前,我们首先要为网络通信质量设立一个标尺。 在美团点评,监控团队开发了基于端到端的客户端监控平台。这里要先解释一下“端到端..原创 2020-08-05 08:30:23 · 330 阅读 · 0 评论 -
Android OOM案例分析
在Android(Java)开发中,基本都会遇到java.lang.OutOfMemoryError(本文简称OOM),这种错误解决起来相对于一般的Exception或者Error都要难一些,主要是由于错误产生的root cause不是很显而易见。由于没有办法能够直接拿到用户的内存dump文件,如果错误发生在线上的版本,分析起来就会更加困难。本文从一个具体的案例切入,介绍OOM分析的思路及相关工具的使用。 案例背景 在美团App 7.4~7.7版本期间,美食业务的OOM数量居高不下,远高于历史水平,..原创 2020-08-05 08:13:31 · 514 阅读 · 0 评论 -
从0到1:构建强大且易用的规则引擎
引言 2016年07月恰逢美团点评的业务进入“下半场”,需要我们在各个环节优化体验、提升效率、降低成本。技术团队需要怎么做来适应这个变化?这个问题直接影响着之后的工作思路。 美团外卖的CRM业务步入成熟期,规则类需求几乎撑起了这个业务所有需求的半边天。一方面规则唯一不变的是“多变”,另一方面开发团队对“规则开发”的感受是乏味、疲惫和缺乏技术含量。如何解决规则开发的效率问题,最大化解放开发团队成为目前的一个KPI。 规则引擎作为常见的维护策略规则的框架很快进入我的思路。它能将业务决策逻辑从系统逻辑中..原创 2020-08-04 09:31:16 · 910 阅读 · 1 评论 -
Redux从设计到源码
本文主要讲述三方面内容: Redux 背后的设计思想 源码分析以及自定义中间件 开发中的最佳实践 在讲设计思想前,先简单讲下Redux是什么?我们为什么要用Redux? Redux是什么? Redux是JavaScript状态容器,能提供可预测化的状态管理。 它认为: Web应用是一个状态机,视图与状态是一一对应的。 所有的状态,保存在一个对象里面。 我们先来看看“状态容器”、“视图与状态一一对应”以及“一个对象”这三个概念的具体体现。 如上图,Store是Redux中的..原创 2020-08-04 09:25:44 · 171 阅读 · 0 评论 -
iPhone X 刘海打理指北
iPhone X 刘海机于9月13日发布,给科技小春晚带来一波高潮。作为开发人员却多出来一份忧虑,iPhone X 怎么适配?我们 App 的脑袋会不会也长一刘海出来?Tabbar 会不会被圆角?先来看一下美团 App 的表现: 图 1.1 启动时的 App 表现 图 1.2 下拉刷新之后的表现 图 1.3 搜索的表现图 1.4 “我的Tab”表现 在图1.1中乍一看表现还不错,可是在图1.2中,下拉刷新之后,我们的导航栏还是被刘海挡住了。搜索也...原创 2020-08-04 09:20:12 · 269 阅读 · 0 评论 -
即时配送的ETA问题之亿级样本特征构造实践
ETA(Estimated time of Arrival,预计送达时间)是外卖配送场景中最重要的变量之一(如图1)。 我们对ETA预估的准确度和合理度会对上亿外卖用户的订单体验造成深远影响,这关系到用户的后续行为和留存,是用户后续下单意愿的压舱石。ETA在配送业务架构中也具有重要地位,是配送运单实时调度系统的关键参数。对ETA的准确预估可以提升调度系统的效率,在有限的运力中做到对运单的合理分配。在保障用户体验的同时,对ETA的准确预估也可以帮助线下运营构建有效可行的配送考核指标,保障骑手的体验和收益。..原创 2020-08-04 09:03:16 · 353 阅读 · 0 评论 -
领域驱动设计在互联网业务开发中的实践
至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD)。在互联网开发“小步快跑,迭代试错”的大环境下,DDD似乎是一种比较“古老而缓慢”的思想。然而,由于互联网公司也逐渐深入实体经济,业务日益复杂,我们在开发中也越来越多地遇到传统行业软件开发中所面临的问题。本文就先来讲一下这些问题,然后再尝试在实践中用DDD的思想来解决这些问题。 过度耦合 业务初期,我们的功能大都非常简单..原创 2020-08-04 08:57:42 · 164 阅读 · 0 评论 -
境外业务性能优化实践
本文根据第16期美团技术线上沙龙OnLine演讲内容整理而成。 前言 性能问题简介 应用性能是产品用户体验的基石,性能优化的终极目标是优化用户体验。当我们谈及性能,最直观能想到的一个词是“快”,Strangeloop在对众多的网站做性能分析之后得出了一个著名的3s定律“页面加载速度超过3s,57%的访客会离开”,可见页面加载速度对于互联网产品的重要性。速度在Google、百度等搜索引擎的PR评分中也占有一定的比例,会影响到网站的SEO排名。“天下武功,唯快不破”,套在性能上面也非常适用。...原创 2020-08-04 08:41:00 · 1371 阅读 · 0 评论 -
大众点评App的短视频耗电量优化实战
前言 美团测试团队负责App的质量保证工作,日常除了App的功能测试以外,还会重点关注App的性能测试。现在大家对手机越来越依赖,而上面各App的耗电量,直接影响了手机的待机时间,是用户非常关心的一点。本文主要通过一个典型案例,介绍App性能测试中的电量测试,并总结了我们由此引发的一些思考。 一、案例分析 短视频作为已被市场验证的新内容传播载体,能有效增加用户停留时长。大众点评App从9.3版本开始推出短视频相关内容,在各页面新增了短视频模块。在短视频功能测试中,我们发现如果在视频列表页中播放视频..原创 2020-08-04 08:35:24 · 586 阅读 · 0 评论 -
2018开春大礼:750页电子书 + 33场技术沙龙资料 + 17场线上课程分享
2017年,美团成长为中国领先的生活服务电子商务平台,在吃喝玩乐住行等200多个品类,2800多个城区县,服务了亿万消费者、数百万商家,日订单数超过2200万,年度交易总额达到了3600亿。2017年10月,美团完成最新一轮融资后估值达300亿美元,也使我们进入全球独角兽的最前列。 在幕后默默支撑和驱动这个平台持续高速发展的,是美团技术团队。从最初只有几位工程师的技术组,到如今近7000人的大部队,美团技术团队已经成为业界一流的研发组织,涵盖了前端(Web、iOS和Android)、后台、系统、算法、..原创 2020-08-04 08:29:44 · 3220 阅读 · 0 评论 -
Toast与Snackbar的那点事
背景 Toast是Android平台上的常用技术。从用户角度来看,Toast是用户与App交互最基本的提示控件;从开发者角度来看,Toast是开发过程中常用的调试手段之一。此外,Toast语法也非常简单,仅需一行代码。基于简单易用的优点,Toast在Android开发过程中被广泛使用。 但是,Toast是系统层面提供的,不依赖于前台页面,存在滥用的风险。为了规避这些风险,Google在Android系统版本的迭代过程中,不断进行了优化和限制。这些限制不可避免的影响到了正常的业务逻辑,在迭代过程中,我..原创 2020-08-04 08:24:11 · 395 阅读 · 0 评论 -
互联网公司数据安全保护新探索
近年来,数据安全形势越发严峻,各种数据安全事件层出不穷。在当前形势下,互联网公司也基本达成了一个共识:虽然无法完全阻止攻击,但底线是敏感数据不能泄漏。也即是说,服务器可以被挂马,但敏感数据不能被拖走。服务器对于互联网公司来说,是可以接受的损失,但敏感数据泄漏,则会对公司产生重大声誉、经济影响。 在互联网公司的数据安全领域,无论是传统理论提出的数据安全生命周期,还是安全厂商提供的解决方案,都面临着落地困难的问题。其核心点在于对海量数据、复杂应用环境下的可操作性不佳。 例如数据安全生命周期提出,首先要对..原创 2020-08-04 08:18:34 · 770 阅读 · 0 评论 -
前端遇上Go: 静态资源增量更新的新实践
为什么要做增量更新 美团金融的业务在过去的一段时间里发展非常快速。在业务增长的同时,我们也注意到,很多用户的支付环境,其实是在弱网环境中的。 大家知道,前端能够服务用户的前提是 JavaScript 和 CSS 等静态资源能够正确加载。如果网络环境恶劣,那么我们的静态资源尺寸越大,用户下载失败的概率就越高。 根据我们的数据统计,我们的业务中有2%的用户流失与资源加载有关。因此每次更新的代价越小、加载成功率越高,用户流失率也就会越低,从而就能够变相提高订单的转化率。 作为一个发版频繁的业务,要降低..原创 2020-08-03 09:08:22 · 380 阅读 · 0 评论 -
美团针对Redis Rehash机制的探索和实践
背景 Squirrel(松鼠)是美团技术团队基于Redis Cluster打造的缓存系统。经过不断的迭代研发,目前已形成一整套自动化运维体系:涵盖一键运维集群、细粒度的监控、支持自动扩缩容以及热点Key监控等完整的解决方案。同时服务端通过Docker进行部署,最大程度的提高运维的灵活性。分布式缓存Squirrel产品自2015年上线至今,已在美团内部广泛使用,存储容量超过60T,日均调用量也超过万亿次,逐步成为美团目前最主要的缓存系统之一。 随着使用的量和场景不断深入,Squirrel团队也不断发现..原创 2020-08-03 09:02:47 · 275 阅读 · 0 评论 -
镣铐之舞:美团安全工程师Black Hat USA演讲
背景 2018年8月9日,全球顶级安全会议——Black Hat USA在美国拉斯维加斯的曼德勒海湾会议中心落下了帷幕,这场盛会在全球黑客心中几乎等同于“世界杯”和“奥斯卡”一样的存在。这场一年一度的盛会已经有着21年的悠久历史,也被公认为世界信息安全行业的最高盛会之一。 作为在国内安全领域拥有多年的实战经验和技术积累的安全团队,美团安全研究院再次受邀参加了本次盛会。在议题通过率不足20%的严苛筛选条件下,美团安全工程师Ju Zhu与小伙伴一起带着本次演讲的议题“Art of Dancing w..原创 2020-08-03 08:57:12 · 296 阅读 · 0 评论 -
美团扫码付小程序的优化实践
短短几年的时间,微信小程序已经从一颗小小的萌芽成长为参天大树,形成了较大规模的开发者生态系统,尤其是在支付、线下垂直领域潜力巨大。 作为领先的生活服务平台,美团的技术团队在小程序领域也进行了很多的探索和实践。像mpvue就是一款使用Vue.js开发微信小程序的前端框架,而且已经在美团点评多个实际业务项目中得到了验证,详细介绍大家可以阅读《用Vue.js开发微信小程序:开源框架mpvue解析》一文。目前,mpvue已经开源,项目地址是:https://github.com/Meituan-Dianpin..原创 2020-08-03 08:51:36 · 544 阅读 · 0 评论 -
美团外卖Android平台化的复用实践
美团外卖平台化复用主要是指多端代码复用,正如美团外卖iOS多端复用的推动、支撑与思考文章所述,多端包含有两层意思:其一是相同业务的多入口,指美团外卖业务需要在美团外卖App(下文简称外卖App)和美团App外卖频道(下文简称外卖频道)同时上线;其二是指平台上各个业务线,美团外卖不同业务线都依赖外卖基础服务,比如登陆、定位等。 多入口及多业务线给美团外卖平台化复用带来了巨大的挑战,此前我们的一篇博客《美团外卖Android平台化架构演进实践》(下文简称《架构演进实践》)也提到了这个问题,本文将在“代码复..原创 2020-08-03 08:46:05 · 677 阅读 · 0 评论 -
美团点评基于 Flink 的实时数仓建设实践
引言 近些年,企业对数据服务实时化服务的需求日益增多。本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过 Flink 引擎构建实时数据仓库,从而提供高效、稳健的实时数据服务。此前我们美团技术博客发布过一篇文章《流计算框架 Flink 与 Storm 的性能对比》,对 Flink 和 Storm 俩个引擎的计算性能进行了比较。本文主要阐述使用 Flink 在实际数据生产上的经验。 实时平台初期架构 在实时数据系统建设初期,由于对实时数据的需求较少,形成不了完整的数据体系。我们采用的是..原创 2020-08-03 08:40:25 · 239 阅读 · 1 评论 -
美团容器平台架构及容器技术实践
本文根据美团基础架构部/容器研发中心技术总监欧阳坚在2018 QCon(全球软件开发大会)上的演讲内容整理而成。 背景 美团的容器集群管理平台叫做HULK。漫威动画里的HULK在发怒时会变成“绿巨人”,它的这个特性和容器的“弹性伸缩”很像,所以我们给这个平台起名为HULK。貌似有一些公司的容器平台也叫这个名字,纯属巧合。 2016年,美团开始使用容器,当时美团已经具备一定的规模,在使用容器之前就已经存在的各种系统,包括CMDB、服务治理、监控告警、发布平台等等。我们在探索容器技术时,很难...原创 2020-08-03 08:34:55 · 440 阅读 · 0 评论 -
人物志 | 技术十年:美团第一位前端工程师潘魏增
导读 潘魏增,2006年毕业于南开大学电子系,2008年加入早期饭否团队。美团第一位前端工程师,现在是X项目组终端研发部的负责人。处女座,INTJ,喜欢Linux和Vim,崇尚开源,相信开源可以让世界变得更美好。 从饭否到美团,潘魏增用十年的技术生涯,诠释了“长期有耐心”这句话的含义。在他看来,长期有耐心,其实也是延迟满足感。对从事的行业来讲,我们要把眼光放得更长远一些,十年后才有回报的生意,往往都是大买卖。对个人来讲,不要把职位、职级这些虚的东西看得过重,关键看我们自己在其中承担什么角色,看我..原创 2020-08-03 08:29:14 · 1281 阅读 · 1 评论 -
智能支付稳定性测试实战
本文根据美团高级测试开发工程师勋伟在美团第43期技术沙龙“美团金融千万级交易系统质量保障之路”的演讲整理而成。主要介绍了美团智能支付业务在稳定性方向遇到的挑战,并重点介绍QA在稳定性测试中的一些方法与实践。 背景 美团支付承载了美团全部的交易流量,按照使用场景可以将其分为线上支付和智能支付两类业务。线上支付,支撑用户线上消费场景,处理美团所有线上交易,为团购、外卖、酒店旅游等业务线提供支付能力;智能支付,支撑用户到店消费场景,处理美团所有线下交易,通过智能POS、二维码支付、盒子支付等方式...原创 2020-08-03 08:23:43 · 401 阅读 · 0 评论 -
LruCache在美团DSP系统中的应用演进
背景 DSP系统是互联网广告需求方平台,用于承接媒体流量,投放广告。业务特点是并发度高,平均响应低(百毫秒)。 为了能够有效提高DSP系统的性能,美团平台引入了一种带有清退机制的缓存结构LruCache(Least Recently Used Cache),在目前的DSP系统中,使用LruCache + 键值存储数据库的机制将远端数据变为本地缓存数据,不仅能够降低平均获取信息的耗时,而且通过一定的清退机制,也可以维持服务内存占用在安全区间。 本文将会结合实际应用场景,阐述引入LruCache的原因..原创 2020-08-03 08:18:07 · 124 阅读 · 0 评论 -
深度学习在搜索业务中的探索与实践
本文根据美团高级技术专家翟艺涛在2018 QCon全球软件开发大会上的演讲内容整理而成,内容有修改。 引言 2018年12月31日,美团酒店单日入住间夜突破200万,再次创下行业的新纪录,而酒店搜索在其中起到了非常重要的作用。本文会首先介绍一下酒店搜索的业务特点,作为O2O搜索的一种,酒店搜索和传统的搜索排序相比存在很大的不同。第二部分介绍深度学习在酒店搜索NLP中的应用。第三部分会介绍深度排序模型在酒店搜索的演进路线,因为酒店业务的特点和历史原因,美团酒店搜索的模型演进路线可能跟大部分公...原创 2020-08-02 09:30:28 · 1099 阅读 · 0 评论 -
Java魔法类:Unsafe应用解析
前言 Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间的能力,这无疑也增加了程序发生相关指针问题的风险。在程序中过度、不正确使用Unsafe类会使得程序出错的概率变大,使得Java这种安全的语言变得不再“安全”,因此对Unsafe的使用一定要慎重。 注:本文..原创 2020-08-02 09:24:43 · 138 阅读 · 0 评论 -
ESLint 在中大型团队的应用实践
引言 代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到,并或多或少会思考过这一问题。随着前端应用的大型化和复杂化,越来越多的前端工程师和团队开始重视 JavaScript 代码规范。得益于前端开源社区的繁盛,当下已经有几种较为成熟的 JavaScript 代码规范检查工具,包括 JSLint、JSHint、ESLint、FECS 等等。本文主要介绍目前较为通用的方案——ESLint,它是一款插件化的 JavaScript 代码静态检查工具,其核心是通过对代码解析得到的 AST(..原创 2020-08-02 09:19:06 · 222 阅读 · 0 评论 -
ICDAR 2019论文:自然场景文字定位技术详解
自然场景文字定位是文字识别中非常重要的一部分。与通用的物体检测相比,文字定位更具挑战性,文字在长宽比、尺度和方向上有更大范围的变化。针对这些问题,本文介绍一种融合文字片段及金字塔网络的场景文字定位方法。该方法将特征金字塔机制应用到单步多框检测器以处理不同尺度文字,同时检测多个文字片段以及学习出文字片段之间8-neighbor连接关系,最后通过8-neighbor连接关系将文字片段连接起来,实现对不同方向和长宽比的文字定位。此外,针对文字通常较小特点,扩大检测网络中backbone模型深层特征图,以获得更..原创 2020-08-02 09:02:23 · 1250 阅读 · 2 评论 -
美团外卖持续交付的前世今生
0. 前言 美团外卖自2013年创建以来,业务一直在高速发展,目前日订单量已突破3000万单,已成为美团点评最重要的业务之一。美团外卖所承载的业务,从早期单一的美食业务发展成为了外卖平台业务。目前除餐饮业务外,闪购、跑腿、闪付、营销、广告等产品形态的业务也陆续在外卖平台上线。参与到美团外卖平台的业务团队,也从早期的单一的外卖团队发展成为多业务团队。每个业务团队虽然都有不同的业务形态,但是几乎都有相同的诉求:需求能不能尽快地上线? 然而,Native应用的发布依赖于应用市场的更新,周期非常长,非常不利..原创 2020-08-02 08:45:38 · 327 阅读 · 0 评论