文章列表

基本功 | 一文讲清多线程和多线程同步

左军 ZY
本篇文章将深入探讨多线程编程的基本概念(原子操作、CAS、Lock-free、内存屏障、伪共享、乱序执行等)、常见模式和最佳实践。通过具体的代码示例,希望能够帮助大家掌握多线程编程的核心技术,并在实际开发中应用这些知识,提升软件的性能和稳定性。 阅读全文

Spark向量化计算在美团生产环境的实践

luhao 左军 lux等
Apache Spark是一个优秀的计算引擎,广泛应用于数据工程、机器学习等领域。向量化执行技术在不升级硬件的情况下,既可获得资源节省和加速作业执行。Gluten+Velox解决方案为Spark换上了向量化执行引擎,本文将阐述美团在这一方向的实践和思考,希望对大家有所帮助或启发。 阅读全文

领域驱动设计DDD在B端营销系统的实践

HZ
本文针对B端营销系统设计中的复杂性,从战略设计,战术设计到代码架构,详细介绍了DDD在各个阶段的实践,期望为大家提供一些可供参考和借鉴的思路。 阅读全文

DDD在大众点评交易系统演进中的应用

lvsong
本文整理自美团技术沙龙第73期《基于领域驱动设计(DDD)的架构演进和实践》,主要介绍了DDD的核心概念、常见的设计思路,并结合DDD介绍大众点评交易系统的演进过程,最后做了一些总结和思考。希望这些内容能够对大家有所帮助或启发。 阅读全文

美团大规模KV存储挑战与架构实践

泽斌
KV 存储作为美团一项重要的在线存储服务,承载了在线服务每天万亿级的请求量,并且保持着 99.995% 的服务可用性。在 DataFunSummit 2023 数据基础架构峰会上,我们分享了《美团大规模 KV 存储挑战与架构实践》,本文为演讲内容的整理。文章主要分为四个部分:第一部分介绍了美团 KV 存储发展历程;第二部分分享了内存 KV Squirrel 挑战和架构实践;第三部分阐述了持久化 KV Cellar 挑战和架构实践;最后一部分介绍了未来的发展规划。希望这些内容对大家有所帮助或启发。 阅读全文

MJDK 如何实现压缩速率的 5 倍提升?

艳梅
MJDK 是基于 OpenJDK 构建的美团 JDK 发行版。本文主要介绍 MJDK 是如何在保障 java.util.zip.* API 及压缩格式兼容性的前提下,实现压缩/解压缩速率提升 5-10 倍的效果。希望相关的经验能够帮助到更多的技术同学。 阅读全文

基于AI+数据驱动的慢查询索引推荐

彭淦
目前,美团内部的日均慢查询数量已经超过上亿条,如何对对这些慢查询进行分析并建立合适的索引,是美团数据库研发中心面临的一项挑战。美团数据库平台研发组与华东师范大学展开了科研合作,通过基于AI+数据驱动的索引推荐,来与基于代价的方法并行地为慢查询推荐索引,以提升推荐效果。 阅读全文

MRCP在美团语音交互中的实践和应用

唐锐 森彬 子丰 亚男 王程 国桥 俞涛
“当你和智能语音机器人对话交互时,你是否好奇电话背后的机器人如何“听懂”你的意思,又如何像人一样“回答”你的问题?其中比较重要的技术就是 MRCP。本文主要介绍了 MRCP 在美团语音交互中的实践和应用,基于美团自研的语音识别及语音合成能力,我们提升了外呼通话的成功率,并且保证了更好的用户体验。” 阅读全文

美团视觉GPU推理服务部署架构优化实践

张旭 赵铮 岸青 林园 志良 楚怡等
面对在线推理服务使用的GPU资源不断增加、GPU利用率普遍较低的挑战,美团视觉研发团队决定通过模型结构拆分和微服务化进行优化,他们提出一种通用高效的部署架构,来解决这种常见的性能瓶颈问题。以“图像检测+分类”服务为例,优化后的服务压测性能指标GPU利用率由40%提升至100%,QPS也提升超过3倍。本文将会重点介绍推理服务部署架构优化的工程实践,希望对大家能有所帮助或启发。 阅读全文

美团外卖搜索基于Elasticsearch的优化实践

泽钰 张聪 晓鹏
美团外卖搜索工程团队在Elasticsearch的优化实践中,基于Location-Based Service(LBS)业务场景对Elasticsearch的查询性能进行优化。该优化基于Run-Length Encoding(RLE)设计了一款高效的倒排索引结构,使检索耗时(TP99)降低了84%。本文从问题分析、技术选型、优化方案等方面进行阐述,并给出最终灰度验证的结论。 阅读全文

美团图灵机器学习平台性能起飞的秘密(一)

琦帆 立煌 兆军
美团图灵机器学习平台在长期的优化实践中,积累了一系列独特的优化方法。本文主要介绍了图灵机器学习平台在内存优化方面沉淀的优化技术,我们深入到源码层面,介绍了Spark算子的原理并提供了最佳实践。希望为读者带来一些思路上的启发。 阅读全文

Replication(上):常见复制模型&分布式系统挑战

仕禄
分布式系统设计是一项十分复杂且具有挑战性的事情。其中,数据复制与一致性更是其中十分重要的一环。数据复制领域概念庞杂、理论性强,如果对应的算法没有理论验证大概率会出错。如果在设计过程中,不了解对应理论所解决的问题以及不同理论之间的联系,势必无法设计出一个合理的分布式系统。 阅读全文

Replication(下):事务,一致性与共识

仕禄
本文主要介绍事务、一致性以及共识,首先会介绍它们怎么在分布式系统中起作用,然后将尝试描述它们之间的内在联系,让大家了解,在设计分布式系统时也是有一定的“套路”可寻。最后将介绍业界验证分布式算法的一些工具和框架。希望能够对大家有所帮助或者启发。 阅读全文

提升资源利用率与保障服务质量,鱼与熊掌不可兼得?

启超 汪喆 谭霖
美团Hulk调度系统团队在集群服务质量与资源利用率运营的长期落地实践中,基于业务实际场景,自主设计研发了集群负载自动调控系统(LAR)以及配套的运营体系,在提升集群整体资源利用率的同时保障了业务服务质量。本文介绍了LAR的设计理念、基本框架以及核心设计,并结合在线和混部场景应用展开思考,并展示了部分落地成果。希望能为从事相关工作的同学带来一些启发或者帮助。 阅读全文

日志导致线程Block的这些坑,你不得不防

志洋 陈超 李敏 凯晖 殷琦
研发人员在项目开发中不可避免地要使用日志,通过它来记录信息和排查问题。Apache Log4j2提供了灵活且强大的日志框架,虽然上手比较快,但稍有不慎也非常容易踩“坑”。本文介绍了美团统一API网关服务Shepherd在实践中所踩过的关于日志导致线程Block的那些“坑”,以及我们如何从日志框架源码层面进行分析和解决问题的过程,并在最后给大家分享一些关于日志避“坑”的实践经验,希望能给大家带来一些帮助。 阅读全文

可视化全链路日志追踪

海友 怀宇 亚平 立森
可观测性作为系统高可用的重要保障,已经成为系统建设中不可或缺的一环。然而随着业务逻辑的日益复杂,传统的ELK方案在日志搜集、筛选和分析等方面愈加耗时耗力,而分布式会话跟踪方案虽然基于追踪能力完善了日志的串联,但更聚焦于调用链路,也难以直接应用于高效的业务追踪。本文介绍了可视化全链路日志追踪的新方案,它以业务链路为载体,通过有效组织业务每次执行的日志,实现了执行现场的可视化还原,支持问题的高效定位。 阅读全文

外卖广告大规模深度学习模型工程实践 | 美团外卖广告工程实践专题连载

亚劼 英亮 陈龙 成杰 登峰 东奎 仝晔 思敏 乐彬
在外卖广告CTR场景下,深度学习模型正在从简单DNN小模型过渡到千亿参数复杂模型。基于该背景,本文将重点针对大规模深度模型在全链路带来的挑战,从在线时延、离线效率两个方面展开,阐述外卖广告在大规模深度模型上的工程实践经验,希望能为读者提供思路上的借鉴。 阅读全文

CompletableFuture原理与实践-外卖商家端API的异步化

长发 旭孟 向鹏
CompletableFuture由Java 8提供,是实现异步化的工具类,上手难度较低,且功能强大,支持通过函数式编程的方式对各类操作进行组合编排。相比于ListenableFuture,CompletableFuture有效提升了代码的可读性,解决了“回调地狱”的问题。本文主要讲述CompletableFuture的原理与实践,同时结合了美团外卖商家端API的异步化实战,希望能对从事相关开发的同学有所帮助或启发。 阅读全文

标准化思想及组装式架构在后端BFF中的实践

陆晨 致远 陈琦
进入互联网“下半场”,靠“堆人力”的研发方式已经不再具备竞争力了,真正有效且可行的方式是让系统能力变得可沉淀、可组合复用、可灵活应对各种变化。在多业态、大规模定制需求的背景下,本文分享了如何通过组装式开发的方法来提升业务的竞争力。 阅读全文

美团外卖广告智能算力的探索与实践(二)

家宏 顺辉 国梁 乾龙 乐彬
在深度学习时代,算力的需求和消耗日益增长,如何降低算力成本,提高算力效率,逐渐成为一个重要的新课题。智能算力旨在对流量算力进行精细化和个性化分配,从而实现系统算力约束下的业务收益最大化。本文主要介绍了美团外卖广告智能算力从线性规划算法到进化算法的技术演进过程,给出了一种基于进化算法的多动作算力分配方案,希望能给大家带来一些帮助或者启发。 阅读全文