首页 电商必读丨追求极致:从技术细节看美团架构

电商必读丨追求极致:从技术细节看美团架构

举报
开通vip

电商必读丨追求极致:从技术细节看美团架构电商必读丨追求极致:从技术细节看美团架构 很多人认为,电商都没有什么技术含量,没有什么门槛。可是,美团能从千团大战中脱颖而出,成为国内最大的本地生活服务平台,必然不是靠运气。美团网技术委员会主席夏华夏为InfoQ的读者分享了美团内部的思考:「技术团队的努力、不断追求极致的努力」是公司走向成功的重要原因。 Q访谈:十分钟了解美团大牛夏华夏,现任美团网技术委员会主席,负责基础技术架构、大数据等相关工作。曾任Google 高级工程师,百度主任架构师。关注基础架构、云计算、运维、大数据等技术。 本文分成三部分: ...

电商必读丨追求极致:从技术细节看美团架构
电商必读丨追求极致:从技术细节看美团架构 很多人认为,电商都没有什么技术含量,没有什么门槛。可是,美团能从千团大战中脱颖而出,成为国内最大的本地生活服务平台,必然不是靠运气。美团网技术委员会主席夏华夏为InfoQ的读者分享了美团内部的思考:「技术团队的努力、不断追求极致的努力」是公司走向成功的重要原因。 Q访谈:十分钟了解美团大牛夏华夏,现任美团网技术委员会主席,负责基础技术架构、大数据等相关工作。曾任Google 高级 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 师,百度主任架构师。关注基础架构、云计算、运维、大数据等技术。 本文分成三部分: 1、美团的技术架构,架构是如何演变的。 2、美团的业务架构,在业务方面如何做一些业务 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 的优化。 3、O2O技术,如何实现线上和线下都用技术来做优化贯通的。 技术架构 其实在初期的时候,美团的技术架构非常简单,的确在最初2010年、2011年的时候,技术是没有门槛的,任何一个人都可以写一个电商的网站。 图1 最初的技术架构 这就是一个最初期的架构,一个比较典型的LAMP架构,前端加上Apache/PHP,后端是MySQL,当然我们会有一些 运维的工作在里面。可能大家如果自己写个网站的话,一开始都是这种架构,这种架构一开始也很好用。然后慢慢的,当业务量大了之后,我们发现整个系统的性能跟不上。那时候我们也只是做一些简单的优化就够了,比如说一开始我们是在前端,就是在Nginx和Apache之间加一些Varnish的缓存,然后在后端,我们可能用Memcached来减少MySQL 的压力,这些都是缓存,整个架构还是没有太大的变化,还是一个优化了的LAMP架构。 图2 简单优化 然后到2011年的时候,我们开始做移动端,这时候架构还是没有太大的变化,只不过是在Apache这种已有服务的API 前面,又包了一层。就是我们在提供给PC端的同时,我们也包了一层移动的API,这样我们可以继续给手机端的用户提供服务。 图3 2011年的架构 这个时候其实也就是简单地把LAMP架构做了一点点扩展,但是已经可以支撑很多很多的用户,很多很多的容量了。我们在这种架构的前提下发展,直到我们想去做新的业务。美团一开始起步是个团购公司,后来我们去做一些新的,比如说酒店业务、电影业务,直到现在大家可能使用过的美团外卖的业务。 当我们去做很多不同的业务的时候,我们发现做每一个业务 似乎需要添加一些新的部分,这样一个部分、一个部分堆积,对很多技术的同学来说,这是不能容忍的,那我们怎么去改进它呢?我们希望把中间的很多的公共的东西,与业务无关的东西抽取出来,形成一些公共的技术的组件,这样可以为很多的不同的业务来使用,发展到现在,形成这样一个看起来稍微复杂的架构。 图4 现在的技术架构 在最底层会有云平台,对内对外都有服务,会有云主机、云存储、虚拟网络,包括一些负载均衡的东西。在云平台上面,我们会有一些基础的组件,这些基础组件跟业务的逻辑相隔比较远,它会有比如配置,队列中心,注册中心,包括一些SQL和NoSQL的存储等等,这些技术组件我们在所有的业务里都会使用,所以我们把它提取出来,作为我们的技术组件提供给业务能用。 再往上,确实有一些东西是与业务结合比较多,比如说用户中心、支付、搜索、推荐、风险控制,以及建立用户的一些地理位置的库,这些东西是与业务是有交互的。但是我们去分析之后发现在不同的业务里面,这些组件还是差不多的,所以我们也是把它抽象出来,现在叫业务组件,这些业务组件在所有的业务之间也是共用。 再往上才是我们各个不同的业务的,真正的比较独特的一些逻辑。在这些业务逻辑前面,是前端的接入,这个前端接入 其实对不同的业务也是一样的,它会有前端的接入和转发,会有前端内容的过滤,就是一些防抓取,防攻击这样的内容过滤。 比如说为了做用户访问性能的优化,我们会做大量的各种各样内容的缓存,包括CDN也好,包括我们内部不同层次之间,包括一些验证码的服务。所以在这种架构下面,当我们再要去做一个新的业务的时候,我们就关注在中间业务逻辑这一块就可以了,这样可以很快地去拓展新的业务逻辑,而且每一个人,每一个团队,只关注真正最有价值的那一部分的软件的开发。那当然两边会有我们的,运维的工作,安全的工作,是在每一层都会涉及的。 但是整个这样一个逻辑发展到现在,我们是觉得最适合我们美团现在这个阶段的一套技术架构,那从一开始的最简单的LAMP,到现在可能我们分了很多很多个组件、很多很多层,这些架构看起来是非常非常不一样的。但是我们现在回想起来并不觉得说,原来的就不好,现在的就好。 我们觉得在公司发展的不同的阶段,一开始就最适合那种最简单的情况,如果说我们一开始,比如说美团2010年成立的时候就上这种很复杂的架构的话,那可能我们2010年底才把软件开发完,那时候上线的时候,可能已经有五千多家团购网站在线上了,所以这是不切实际的。所以整体来说,我们觉得在整个技术架构的演变过程中,就是找当前真正能 够满足我们业务需求的。 另外一个特点,大家也可以看到,在我们的整个的架构里面,大量应用了一些开源的东西,从最初的LAMP架构的时候,包括MySQL、Apache,到现在我们一些很复杂的架构里面,比如说搜索,现在会用到Lucene,会用到Solr,在云主机、云平台这一块,我们会用到比如说OpenStack的一些个组件,包括比如存储的Swift等等,用到很多的开源的东西。 开源产品拿过来当然会加速我们的这种开发的周期,但是开源产品我们也不仅仅是单单把它拿过来,因为任何一个开源的产品,如果你要拿到一个比较复杂的业务里,你就会发现它不是那么匹配的,它总是有些边边角角,比如说要与系统的集成,或者很多开源产品,它在大规模的情况下,高并发的情况下,考虑地并不是那么周到。 所以我们在开源的基础上做了大量的优化,一方面能让我们的整个系统能做更好地水平的扩展、系统的扩展、系统的优化,同时也让整个的用户体验能够更好。 总结下来,就是在技术架构方面,想跟大家分享这么几点,一个就是整个技术架构总是在不断地结合业务在不断地演化,还有就是至少从美团来说,我们是在开源软件的基础上,然后不断地做集成,不断地做优化,最后,软件开发的时候,不管是在对用户体验来说,还是对工程师自己的体验,我们总是在追求一些极致,这样的情况下,我们的技术架构就自
本文档为【电商必读丨追求极致:从技术细节看美团架构】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633808
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:0
分类:生活休闲
上传时间:2019-05-30
浏览量:25