精华内容
下载资源
问答
  • 美团外卖开发文档 php 在这里可以申请 https://union.meituan.com/ 下一篇带大家使用php对接开发

    美团外卖开发文档 php

    在这里可以申请
    https://union.meituan.com/

    在这里插入图片描述
    注册/登录
    然后依次点击 我要推广-> api授权

    在这里插入图片描述

    下一篇带大家使用php对接开发

    展开全文
  • 美团技术文档

    千次阅读 2016-12-08 13:58:44
  • 小编这里提供一份技术文档: 内容简介. 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、...

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

     

    深入理解微服务实战——Dubbo+spring Boot+Docker

    过去十多年互联网产业的高速发展,在给社会带来深刻变革的同时,也催生了服务架构的演进:从传统的单体应用到面向服务的SOA,再到现今主流的微服务架构,而Dubbo+spring Boot+Docker就是微服务领域中的先行者和佼佼者。

    对于想要进阿里的人来说,Dubbo是你必须掌握的框架

    Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。

    应该如何学习Dubbo框架呢?小编这里提供一份技术文档:

    内容简介.

    随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。

    本书适合对Dubbo有一定了解、对Dubbo框架感兴趣的读者,也适合想深入理解Dubbo原理的资深开发者阅读。

    • 第1章主要介绍架构设计。详细的讲解了秒杀抢购的应用场景并对应用场景进行深度解析。
    • 第2章主要介绍微服务架构。针对微服务架构做深入理讨论,并基于微服务架构对“双11”抢购项目进行项目拆分。
    • 第3章主要介绍Docker环境搭建。以“双11”抢购项目为例,快速搭建项目所开发的Docker环境。
    • 第4章主要介绍SpringBoot初体验。通过对SpringBoot框架的搭建和使用讲解SpringBoot的原理和实践细节。
    • 第5章主要介绍Dubbo+springboot搭建微服务架构,基于Dubbo+springboot实现“双11”抢购项目微服务搭建。
    • 第6章主要介绍redis+ActiveMQ实现高并发访问。
    • 第7章主要介绍分布式的第三方接入。采用实操性讲解方式,加深对原理的学习理解。
    • 第8章主要介绍高并发测试。

    由于头条篇幅有限,接下来截取一部分知识点,如果你想要获取到这一份PDF版本的Dubbo与实战的话,关注作者后私信“资料”记得帮助小编点赞文章哦! 真诚分享,不要吝啬您的赞哦!

    架构设计

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

    架构设计

    微服务架构

     

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

     

    深入理解Dubbo微服务实战

    本书由浅入深,娓娓道来。既有对Dubbo 基本概念的讲解、底层原理的分析,同时又不乏生动的实战内容。作为进阶的内容,对扩展点、过滤器,以及Dubbo的高级特性,都有深入浅出的介绍。非常适合想了解Dubbo,对Dubbo内部实现感兴趣的读者阅读

    Docker环境搭配

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

    Docker环境搭配

    SpringBoot初体验

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

    SpringBoot初体验

    基于Redis+ActiveMQ实现高并发访问

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

    基于Redis+ActiveMQ实现高并发访问

    分布式下第三方介入

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

    分布式下第三方介入

    由于头条篇幅有限,接下来截取一部分知识点,如果你想要获取到这一份PDF版本的Dubbo与实战的话,关注作者后私信“资料”记得帮助小编点赞文章哦! 真诚分享,不要吝啬您的赞哦!

    美团开发十年,精心整理这份实战文档—Dubbo+springBoot+Docker

    展开全文
  • 美团点评技术文档-后端+前端技术,美团点评2018年最新技术文档
  • 美团券对接API文档

    2016-09-01 15:50:12
    美团开发的接口和测试账号
  • 作者:敏丞 在大数据分析领域,Apache Kylin 和 Apache Druid (incubating) 是两个普遍使用的 OLAP 引擎,都具有支持在超大数据上进行快速查询...在2018年8月的 Apache Kylin Meetup 活动上,美团点评技术团队...

    作者:敏丞

     

    在大数据分析领域,Apache Kylin 和 Apache Druid (incubating) 是两个普遍使用的 OLAP 引擎,都具有支持在超大数据上进行快速查询的能力。在一些对大数据分析非常依赖的企业,往往同时运行着 Kylin 和 Druid 两套系统,服务于不同的业务场景。

     

    在2018年8月的 Apache Kylin Meetup 活动上,美团点评技术团队分享了他们的 Kylin On Druid 方案(简称 KOD)。那么,美团点评为什么要开发这样一套混合系统?这背后是有什么挑战和考虑呢?本文将围绕这些问题跟大家做探讨,帮助读者理解两个 OLAP 引擎之间的差异和各自优势。

     

    01 Apache Kylin 简介

    Apache Kylin 是一个开源的分布式大数据分析引擎,在超大规模数据集上建立数据模型,构建支持多维分析的预计算 Cube,提供 Hadoop 上的 SQL 查询接口及多维分析能力。并开放通用的 ODBC、JDBC 或 Restful API 接口。这种独特的预计算能力使 Apache Kylin 可以应对超大数据集上的查询,并实现亚秒级查询响应。

     

    图 1 Kylin架构图

     

    02 Apache Kylin 的优势

     

    1.基于 Hadoop 成熟的计算引擎(MapReduce 和 Spark),提供了强大的处理超大数据集的预计算能力,能够在主流 Hadoop 平台上开箱即用。

    2. 支持 ANSI SQL,用户可以使用 SQL 进行数据分析。

    3. 亚秒级低延迟响应。

    4. 提供 OLAP 通用的星型模型和雪花模型等数据建模方式。

    5. 提供丰富的度量(Sum,Count Distinct、Top N、Percentile 等)。

    6. 提供智能的 Cuboid 剪枝能力,减少存储和计算资源的消耗。

    7. 支持直接跟主流 BI 工具的集成,有丰富的接口。

    8. 既支持超大历史数据的批量导入,也支持流数据的微批次导入。

     

    03 Apache Druid ( incubating )简介

    Druid 诞生于 2012 年,是一个开源分布式数据存储,其核心设计结合了分析型数据库、时序数据库、搜索系统的特点,可以处理较大数据集上的数据收集和分析任务。Druid 使用 Apache v2许可,目前是 Apache 基金会孵化项目。

     

    Druid 架构

    从 Druid 的部署架构上看,Druid 的进程根据角色主要分为以下三类:

     

    • Data Node(Slave 节点,数据摄入和计算)

    Historical 负责加载 segment(已提交的不可变数据),接受历史数据查询

    Middle Manager 负责数据摄入和提交 segment,单个 task 由单独 JVM负责。

    Peon 负责完成单个 task,由 Middle Manager 管理和监控。

     

    • Query Node(查询节点)

    Broker 接受查询请求,确定数据来自于哪些 segment,分发 sub query 和merge 结果。

     

    • Master Node(Master 节点,作业调度和集群管理)

    Coordinator 监控 Historical,负责给 Historical 分配 Segment 和监控负载。

    Overlord 监控 Middle Manager,负责给 Middle Manager 分配任务和协助发布 Segment。

     

    外部依赖

    同时 Druid 有三个可替换的外部依赖:

     

    • Deep Storage(分布式存储)

    Druid 使用 Deep storage 在 Druid 各节点间传输数据文件。

     

    • Metadata Storage(元数据存储)

    元数据存储了 Segment 的位置和 Task 的输出等元数据。

    .

    • Zookeeper(集群管理和作业调度)

    Druid 使用 Zookeeper (ZK) 来负责集群保证集群状态的一致性。

     

    图 2 Druid 架构图

     

    Data Source 和 Segment

    Druid 中的数据存放在 Data Source 中,Data Source 概念上等同于 RDBMS中的表;Data Source 概念上会根据时间戳分为若干个 Chunk,同一时间区间产生的数据会归属到同一 Chunk;Chunk 内部由若干个 Segment 组成,每个 Segment 是一个物理上的数据文件,同时 Segment 是一个不可再分的存储单元。出于性能考虑,一个 Segment 文件的大小是建议在 500mb 左右。

    图 3 Data Source 和 Segment

     

    从 schema 看,因为 Druid 具有 OLAP 和 Time Series Database 的特性,列包含三种,分别为时间戳列,维度列和度量列。时间戳列具有 Segment 剪枝的作用,维度列和度量列在 Kylin 中有相似的概念。

     

    图 4 Druid 中的 Schema

     

    Druid 的优势

    1. 具有实时摄取数据的能力,数据进入 Druid 即可被查询,延迟为毫秒级,这也是 Druid 的最大特点。

    2. 支持数据明细查询和聚合查询。

    3. 数据存储使用列式存储格式,避免不比较要的 IO。

    4. 支持倒排索引,具有良好的过滤性能。

    5. 支持冷热数据分离。

     

    04 为什么美团开发 Kylin on Druid

     

    美团点评自 2015 年上线使用 Apache Kylin 做为其离线 OLAP 平台核心组件,服务了几乎所有业务线,数据量和查询次数迅速增长,集群压力越来越大。在这个过程中,美团技术团队不断摸索,针对 Kylin 所暴露出的一些问题寻找更优方案,其中一个主要问题就是 Kylin 所依赖的存储:Apache HBase。

    我们知道,目前的 Kylin 数据存储使用 HBase,存储 Cube 时将维度值和度量值转换成 HBase 的 KeyValue。因为 HBase 不支持二级索引,只有一个行键 (RowKey) 索引,Kylin 的维度值会按照固定的顺序拼接作为 RowKey 存储,那么排在 RowKey 前面的维度,就会获得比后面的维度更好的过滤性能。下面我们来看一个例子。

    在测试环境使用两个几乎完全相同的的 Cube(Cube1 和 Cube2),它们的数据源相同,维度和度量也完全相同,两者的唯一差别在于 RowKey 中各个维度的顺序:Cube1 将过滤用到的字段( P_LINEORDER.LO_CUSTKEY )放到第一个位置,而 Cube2 则将该字段放到最后一个位置。

    图 5 Cube1 的 RowKey 顺序

     

    图 6 Cube2 的 RowKey 顺序

     

    现在我们以相同的 SQL 在这两个 Cube 上进行查询,比较查询用时。

    select S_SUPPKEY, C_CUSTKEY, sum(LO_EXTENDEDPRICE) as m1
    from P_LINEORDER
        left join SUPPLIER on P_LINEORDER.LO_SUPPKEY = SUPPLIER.S_SUPPKEY
        left join CUSTOMER on P_LINEORDER.LO_CUSTKEY = CUSTOMER.C_CUSTKEY
    WHERE (LO_ORDERKEY > 1799905 and  LO_ORDERKEY < 1799915)  or (LO_ORDERKEY > 1999905 and  LO_ORDERKEY < 1999935)
    GROUP BY S_SUPPKEY, C_CUSTKEY;
    

     

    下图是它们查询时的耗时和扫描的数据量。

    图 7 Cube1 查询日志

     

    图 8 Cube2查询日志

     

    从上面的测试结果看,对于相同的 SQL 语句,两者查询用时相差两百多倍。两者差别的原因主要在于对 Cube2 所在 HTable 进行了更大范围的扫描。

    此外,Kylin 的多个度量值被存储到一个 Key 对应的 Value,当只查询单个度量时,不需要的度量也会被读取,消耗不必要的 IO。总之,HBase 的局限,加大了 Kylin 对用户,尤其是业务用户的使用难度。

    如果使用纯列式的存储和多维度索引,将大大提升 Kylin 查询性能,同时减小Kylin 的使用难度。从上面的 Druid 的优点介绍我们得知 Druid 正好符合列式+多维度索引这样的特征。因此美团 Kylin 开发团队决定尝试使用 Druid 替换 HBase。

    到这里,读者可能会问,为什么不直接使用 Druid 呢?美团的工程师也分享了他们的经验,主要有以下考虑:

     

    1. Druid 的原生查询语句是自定义的 JSON 格式,不是 SQL,上手有难度。虽然 Druid 社区后来加入了对 SQL 的支持,但是功能尚不完整,不能满足数据分析师的复杂 SQL 查询需求。而 Kylin 原生支持 ANSI-SQL,使用 Apache Calcite 做语法解析,对 SQL 有很好的支持(支持 join,sub query,window function 等),并且提供 ODBC/JDBC driver 等标准入口,支持跟 Tableau, Power BI, Superset,Redash 等工具直接对接。
    2. Druid 只支持单表查询,而实际业务中多表 join 的场景非常多,难以满足业务需要;而 Kylin 支持星型模型和雪花模型,能满足多表查询的形式。
    3. Druid 不能支持精确去重计算;而 Kylin 既支持基于 HyperLogLog 的近似去重,也支持基于 Bitmap 的精确去重度量,对于某些高精度要求场景, Kylin 几乎成了唯一选择。
    4. Druid 的 rollup 功能只支持预计算出 Base Cuboid;相比而言,Kylin 可以定制更多的更丰富的维度组合,更加精确地匹配查询,利于减少现场计算的计算量。

    此外从对 Druid 和 Kylin 的使用经验看,直接使用 Druid 作为 OLAP 引擎在管理和运维方面有一些挑战:

     

    1. Druid 没有供业务人员使用的 Web GUI,要建立新模型,只能通过 API 来完成,用户友好度低。而 Kylin 提供了易用的 Web GUI,业务人员通过鼠标点选就可以创建新模型,然后使用 SQL 进行查询,易用性高,在进行简单培训后可以交给业务人员自助使用。
    2. Druid 没有友好的集群监控和管理界面,运维难度较大。而 Kylin 基于 Hadoop 平台,主流 Hadoop 在监控管理上已经非常完善,有 Ambari, Cloudera Manager 等工具使用。
    3. Druid 需要部署和配置专门的集群,无法利用现有的 Hadoop 集群的计算资源。而大型企业通常已经部署了 Hadoop 集群,使用 YARN/Mesos/Kubernets 等标准资源管理器统一管理计算资源;从这一点来说,Druid 需要单独部署和运维。而 Kylin 基于 MapReduce 或 Spark 做数据加工,能够共享 Hadoop 集群的计算资源,做到动态调度,资源使用率高,无需额外运维成本。

    因此,把 Druid 优秀的列式存储特性,和 Kylin 在易用性、兼容性和完备性相结合,看上去将是一个不错 OLAP 解决方案。Druid 使用了列式存储和倒排索引,过滤性能优于 HBase,并且 Druid 天生具有 OLAP 的特性,也具有良好的二次聚合能力。于是,美团点评技术团队决定进行尝试,用 Druid 替换 HBase作为 Kylin 的存储。

     

    05 Kylin on Druid 的设计介绍

    Apache Kylin v1.5 引入了可插拔架构,将计算和存储等模块做了解耦,使得开发替代 HBase 的存储引擎变成可能。在这里我结合美团工程师康凯森的设计文档,简要介绍 Kylin on Druid 的主体设计思想(图9和图10来自于参考[1]的附件,文字说明部分来自于参考链接中的[1]和[3])。

     

    构建Cube的流程

    1. 生成 Cuboid 数据文件前,增加计算 Druid Segment 数量和更新 Druid Rule 的步骤。

    2. 和原先的构建流程一样,通过 MapReduce 生成 Cuboid 文件。

    3. 将原有的步骤“转换为HFile”替换为“转换为 Druid Segment ”,该步骤将构建好的 Cuboid 文件转化为 Druid 的列存格式,输出到 HDFS 指定路径(下图 1号线条)。

    4. 发布 Druid Segment 的元数据到 Druid 元数据存储(下图 2号线条)。

    5. Druid Coordinator 会周期性检查元数据存储的新 Segment(下图 3号线条),发现新的 Segment 会通知 Historical(下图 4号线条),Historical 收到通知会去 HDFS 拉取 Segment 数据文件到本地并且加载(下图 5号线条)。

    6. 等到全部 Druid Segment 被加载完毕后,Cube 完成构建。

    图 9 构建 Cube 流程

     

    查询 Cube 的流程

    1. 当 Kylin Query Server 查询数据时,经过 Calcite 解析后的 query plan Druid 的查询(scan 或者 groupby),并且将请求发送给 Druid Broker。

    2. Druid Broker 会解析请求找到对应的 Historical 分发请求,并且对 Historical 返回的结果再做一次聚合。

    3. Kylin Query Server 通过 HTTP 获取到 Druid Broker 返回的结果,会转化为 Tuple 再交由 Calcite 遍历处理。

    图 10 查询 Cube 流程

     

    Schema 映射

    1. Kylin 的一个 Cube 会被映射到 Druid 的一个 Data Source

    2. Kylin 的一个 Segment 会被映射到 Druid 的一到多个 Segment

    3. Kylin 的分区时间列映射到 Druid 的时间戳列

    4. Kylin 的 Cuboid 映射到 Druid 的单个维度列

    5. Kylin 的维度列映射到 Druid 的维度列

    6. Kylin 的度量列映射到 Druid 的度量列

     

    06 总结

    在这篇文章里,我们首先分析了Kylin 和 Druid 各自的特点和优势,以及Kylin on HBase 在一些情况下性能不佳的原因;然后基于症状寻找解决办法,得出使用 Druid 作为 Kylin 存储引擎的可行方案;接下来分析了美团开发的 Kylin on Druid 的架构和流程。

     

    关于 Kylin on Druid 的使用方式和性能分析,以及 Kylin on Druid 目前有哪些尚待完善的部分,敬请期待下篇文章。

     

    07 参考链接

    1. https://issues.apache.org/jira/projects/KYLIN/issues/KYLIN-3694
    2. https://github.com/apache/kylin/tree/kylin-on-druid
    3. https://blog.bcmeng.com/post/kylin-on-druid.html
    4. http://druid.io/docs/latest/design

    --------------------------------------------------------------------------------------------

    2019 年 11 月 16日 Apache Kylin Meetup 北京站正在火热报名!邀请到滴滴、微众银行、一点资讯以及 Kyligence的技术专家为大家呈现精彩应用案例与实践:https://www.huodongxing.com/event/2516174942311

    展开全文
  • 那么这个首页的布局使用下面的布局方式,这里我们使用的是elements-ui,使用其他的组件请参考对应的官方文档。 首先我们去除pages/index.vue中的无用代码: 接下里,我们使用element-ui的布局组件,快速构建出我们...
  • 这篇开始的文章我会从头开始学习着去做一个高仿美团的网站,内容包括前后端的一些基础知识,当然了,由于本人也是抱着学习的心态,将这个过程以博客的形式记录下来,其中的不足希望大家可以谅解。如果能有幸得到各位...
  • vue+koa2 美团开发实战2-目录结构

    千次阅读 2019-03-16 19:51:47
    工欲善其事必先利其器,前面我们知道了怎么利用Nuxt.js去创建项目,今天我们就来聊一聊利用Nuxt.js创建出来的项目的目录结构,了解了这些基本的东西,才能让我们在后面的开发中越来越得心应手。 这是我们vscode打开...
  • 2018美团点评技术文档-后台&前端&运维&测试&工程师成长篇&系统篇
  • 开发流程:需求分析–接口文档–模块开发–npm run build 打包–利用ftp可视化工具上传到服务器 问题一:vue如何引用腾讯地图 看博发现了五花八门的写法,后来转向腾讯地图的官方文档。 解决方如下: 1、在Src文件夹...
  • 上一篇文章简单介绍了Flutter,接下来正式进入到Flutter仿美团项目开发,Github项目地址 。 首先对比一下效果图 (左侧为Flutter, 右侧为美团) 出于个人喜好,我习惯于将状态栏的颜色设为透明,此时状态栏将呈现...
  • 文末java面试题,进阶技术大纲,架构资料分享 我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份PDF文档,有兴趣的朋友们可以点击这里即可免费领取 第一个要分享给大家的就是算法和...
  • 前言 说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。... 最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~ 我的Android 学习,面试文档,视频收集大整理
  • Flutter是谷歌发布的跨平台开发框架(通过极少的改动即可运行在桌面端,web端,Android与IOS且UI具有高度一致性)并将作为谷歌新操作系统Fuchsia的UI框架。在移动端Flutter通过skia2D绘图引擎保证了各平台UI一致性的...
  • Spring + Spring MVC + MyBatis(简称:SSM框架)在Java Web开发领域中占据着十分重要的地位,一路走来已十余载,作为目前流行的轻量级J2EE框架,其在保留了经典Java EE应用架构高度可扩展性和高度可维护性的基础上...
  • 我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮好笑的。懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。 最近看到很多...
  • 这篇文章主要介绍了PHP 对接美团大众点评团购券(门票)的开发步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下. 一、功能简要介绍 1、根据需求,用户...
  • 饿了么红包、美团优惠券开发

    千次阅读 2020-12-10 09:59:34
    饿了么红包开发 首先需要登录你的小程序的微信公众平台https://mp.weixin.qq.com,添加“生成小程序码”入口,具体请参考“工具助手Tool开发”系列文章“获取其它小程序的appid和path”这篇文章。 查看其它优惠券...
  • 在写这份美团面经的一年前,我已经挂了三次,但我始终不甘心就这么挂这了。 在经过一年时间一边工作一边学习,又再次的来到这个地方挑战,这次面试和前面三次不一样了,因为之前是没有进行准备而来。而这是有备而来...
  • 开发文档 1.1. 主要特性 主要有以下特性 彻底的组件化开发能力:提高代码复用性 完整的 Vue.js 开发体验 方便的 Vuex 数据管理方案:方便构建复杂应用 快捷的 webpack 构建机制:自定义构建策略、开发阶段 ...
  • 美团点评2017秋招笔试真题-前端开发工程师B.pdf
  • 美团点评2017秋招笔试真题-前端开发工程师A.pdf
  • 《379页Android开发面试宝典》 历时半年,我们整理了这份市面上最全面的安卓面试题解析大全 包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列...
  • 在大数据分析领域,Apache Kylin 和 Apache Druid (incubating) 是两个普遍使用的 OLAP 引擎,都具有支持在超大数据上进行... 在2018年8月的 Apache Kylin Meetup 活动上,美团点评技术团队分享了他们的 Kylin...
  • 美团点评2017秋招笔试真题-测试开发工程师卷A.pdf
  • 美团点评2017秋招笔试真题-测试开发工程师卷B.pdf
  • 美团优选大数据开发岗面试真题-附答案详细解析

    千次阅读 多人点赞 2021-03-10 12:56:42
    此面试题来自牛客网友分享的美团优选一面,面试时长一小时。网友情况:海外水本,在某三线中厂工作2年。 参考答案由本公众号提供。如有错误,欢迎指正! 以下为面试过程中提问,岗位为大数据开发,根据提问内容...
  • 美团点评2017秋招笔试真题-后台开发&系统工程师B.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,141
精华内容 6,856
关键字:

美团开发文档