剖析美团对于Python的Django和Tornado框架的应用
2021-01-04 15:39:40 阅读(182) 评论(0)
目前,独立的美团云业务部有十几名工程师。虽然部门独立,但在工作中仍与系统运维组密切配合。美团系统运维组原本有三分之二的开发工程师,所有运维工程师都有编写代码的能力,所以开发和运维工程师可以密切配合。美团云最初版本的相关制造商内容始于2012年7月,最初是作为私有云计算平台建立的。第一版开发了大约2个月,然后花了大约10个月的时间将美团的所有业务转移到云平台。现在除了Hadoopp、数据库仍在物理机器之外运行,美团网络的所有业务都在美团云上运行,内部研发和测试平台也在美团内部的办公云平台上运行。2013年5月,美团云开始向外界提供公共云服务,到目前为止只向外界提供云主机产品。对象存储、Redis、MySQL、负载平衡、监控、VPC等服务也在研发中,部分产品已在内部和部分测试客户中使用,未来将根据产品的成熟度和客户的需求逐步向公众开放。稳定性是公共云服务的核心价值。自公共云服务开放以来,美团云的主要工作是提高云主机的稳定性,改进云主机的模板、备份、监控和安全。预计美团云将于2014年9月发布其第三个版本的更新,并继续完善其产品细节。技术架构美团云最初选择OpenStack时、CloudStack、Eucalyptack已经进行了研究,结果是架构设计采用OpenStack框架,网络架构参考CloudStack,主要组件由自己开发,部分组件在OpenStack原生组件上进行了二次开发。云主机管理系统的核心是自己开发的,不使用Nova。采用Region-Zone-Cluster三层架构支持跨区域、多数据中心的大规模集群部署。基于KVM的主机虚拟化和基于OpenVSwitch Openflow网络虚拟化技术。Glance用于镜像管理。有一些修改,如多数据中心分布式支持和镜像替换。Keystone用于身份管理。还有一些修改,例如,高并发性能改进,与美团账户系统集成。Swift用于对象存储,但Swift在写延迟方面存在性能问题,OAM功能薄弱,因此也进行了一些修改和研发。Swift现在正在为美团内部存储量几十TB量级的业务提供服务。OpenStack之所以没有整体引入,是因为当时调查的时候,我觉得OpenStack的设计与美团的实际情况相比是脱节的。例如,网络架构需要大量的调整和共享存储的支持。那时候对于美团来说,现有业务的基础设施已经基本固化,为了适应OpenStack而做出这样的调整基本上是不可接受的。此外,OpenStack在很多细节上都达不到要求的水平。例如,OpenStack设计了跨机房多Zones,假设您的机房之间的网络是完整的,这不符合我们的网络现状。因此,基于美团现有的主机使用模式和网络架构,我们重新设计了网络、存储和主机管理模型,并独立开发了虚拟管理平台。同时,当我们从单机房到多机房时,我们在Zones之间进行了解耦。例如,Glance服务节点被放置在每个机房中,以减少对跨机房网络的依赖。正是由于这些研发工作,经过不到一年的磨练,我们实现了美团在私有云上完全运行整个基础设施的目标。当然,因为我们不使用Nova,这意味着我们不能直接使用OpenStack社区中许多依赖Nova的组件和功能。然而,与OpenStack大而全/兼容并包的架构相比,我们坚持在主机虚拟化使用KVM、网络虚拟化使用OpenVSwitch等各个方面都集中精力使用一项技术 OpenFlow,整个系统的开发和维护成本相对较低,可以深入挖掘这些技术方案的功能特性,最大限度地提高硬件性能。同时,由于我们掌握了基本系统的代码,我们可以更高效地添加一些新的业务功能(如虚拟IP、USBKEY支持等),并实现系统架构的升级(如多机房架构支持等)。此外,技术委员会还提出了如何将OpenStack组件的一些修改,如Swift的优化反馈给上游社区。当然,这取决于社区是否接受我们的patch,我们仍然优先满足业务需求。在其他方面,块存储落在本地SAS盘上,并在本地制作RAID。目前,我们为美团自己的业务做RAID5,为公共云用户做RAID10。这是考虑到美团自己的业务在应用层做了一个完整的高可用性设计,即使一个节点不会影响业务;但对于公共云用户来说,他们使用的云主机是一个单点,所以他们应该更好地保护他们的云主机。当然,使用RAID10的成本会更高。在解决上述稳定性和性能问题之前,我们也在考虑共享存储。SSD将在未来使用,从而大大提高块存储的性能。网络分布式设计,主机采用Openflow,通过Openflow修改二层协议,让每个用户都有一个独立的平面网络,与其他用户隔离。通过DNS虚拟化技术,不同的用户可以在自己的私人网络上使用相同的主机名称,并在每个宿主机上部署分布式DNS和DHCP,以实现基本网络服务的分散化。运维美团云的运维思路与整个美团的运维思路是一致的。以下操作思路不仅适用于美团云,也适用于整个美团网。运维框架可概括为五横三纵。从横向上看,自底向上分为五个层次:物理层,包括机房网络和硬件设施。我们正在从底层开展多机房和城市网络建设,以确保基础设施的稳定性。为了应对大型机房建设带来的运行和维护成本,我们实现了Baremetal自动安装和部署的Web管理。服务器上架后,其他工作自动完成,物理机器可以像虚拟机一样管理。包括操作系统和虚拟化在内的系统层。在虚拟化的基础上,我们采用模板(镜像)的方式进行管理,并对Linux核心进行了部分定制开发,如优化OVS的兼容性。包括Webserverr的服务层、缓存、数据库等基本服务。基于Puppet工具,我们进行了统一的配置管理,拥有自己的软件仓库,并定制了一些软件包。统一配置管理的优点,一方面可以避免不一致的修改,保证集群的稳定性,另一方面可以提高运维效率。逻辑层,包括业务逻辑,数据流。这一层的主要工作是发布和变更。在许多其他公司,业务发布和数据库变更管理都是由运营和维护完成的。我们认为,开发和运营维护的合作成本较高,因此我们一直在向开发人员自助的方向进行,通过代码发布平台和数据库变更平台实现开发和运营维护的轻耦合。在发布平台上,每个应用程序对应于一个独立的集群,一个开发作为应用程序owner有最高权限,许多开发成员可以自助发布代码作为应用程序。数据库变更平台也有类似的权限控制机制,在任务执行层面有特殊的稳定性。例如,大型变更任务将自动调度到夜间执行,并在后台备份删除数据表的任务。包括用户可见部分的应用层。除了类似于逻辑层的发布和变更外,我们还有一个统一的前端平台,实现访问流量的进出分离、行为监控和访问控制,这对整体安全非常有益。纵向工作有三个部分,对上述五个层次是通用的:监控。从物理层到服务层的监控和报警都是运维跟进和响应的。对于逻辑层和应用层,也是开发人员自助的理念。操作和维护为监控API提供了标准化。开发可以创建自己的监控项目,设置报警规则,并添加、删除和检查。监控报警后的处理,现在有些已经实现了自动化,有些还没有实现。特别是一些基础设施和业务之间的纵向链还没有打开,包括建立业务容量模型、特定业务形式的最高负荷、不同负荷水平的SLA应该是多少,等等,这些模型可以自动处理。安全。我们很早就部署了一个统一的安全访问平台。所有在线手动操作都需要登录relay跳板。每个人都有一个独立的登录帐户,所有在线操作都有一个审计日志。专门的信息安全组负责更多的安全工作。流程。Jira早期做了一些简单的流程,但还是需要改进的。目前正在开发相应的流程控制系统,以满足相对集中的需求,方向是自动化和自助化。从业务部门申请VM资源到业务扩张的整个过程,我们正在开放上下游。未来,我们可以通过非常简单的操作实现Web界面,并提供服务API,方便其他业务平台的集成。虚拟化覆盖整个业务线后,这些事情变得非常方便。总之,美团网的整体运维理念是保证业务的稳定运行,促进全面自动化和自助化。开发人员应尽可能通过自动化平台完成涉及开发、运维沟通合作的部分。除了基本环境和平台建设外,运维人员还帮助业务梳理高可用架构,提高代码的可操作性,定位和解决业务中的各种问题。从内部服务到现在两年来,美团云最大的改进是从单机房到多机房的建设,这与美团网的城市网络建设同步进行。单机房时,美团网业务早期遇到运营商网络中断几个小时的情况,期间业务不可用,非常痛苦。多机房冗余最理想的情况是,即使整个机房断电,业务也不会受到影响。当然,这意味着需要100%的冗余,成本相对较高。然而,对于美团来说。com愿意承担冗余成本,因为不可用业务造成的损失大于这些冗余成本。因此,我们现在有50%的物理资源冗余,30%的冗余通常保留在带宽上。由于美团网的快速发展,去年我们遇到了资源不足的情况,在踩了很多坑之后,开始做一些长远的规划。目前,美团网络业务的双机房冗余已经部分实施,美团云也有两个机房。如果公共云客户的业务支持水平扩张,也可以进行跨机房部署。这种机房级高可用性做得很好,大大提高了稳定性,大大降低了网络抖动对业务的影响。可用性SLA可以从目前的四个9中提高。一些大型客户对服务质量的需求相对较高,因此美团的城市网络和未来的广域网也将与我们的公共云客户共享。此外,上面提到我们的数据库运行在物理机器上,这一块现在使用SSD,读写性能高于早期的三个15000转SAS,瓶颈在千兆网卡上,所以我们现在也在做万兆网络的升级。数据库服务也将向公共云用户开放,基础设施与美团自身业务一致。由于未来计划使用本地存储,虚拟机迁移需要在夜间进行,以减少对用户服务的影响。在保证稳定性和性能的前提下,共享存储是提高服务可用性的好选择,因此我们正在测试万兆网络下的共享存储方案。此外,我们底层虚拟化机制使用的KVM本身没有热插拔功能,这也是我们计划要做的。现在很多客户问我们什么时候Redis,什么时候云数据库,有些客户会需要Redis和MongoDB,Web服务想要MySQL。我们的计划是DBA团队提供一些模板,相当于一些专门为Redis/MySQL优化的系统镜像,让客户可以直接使用。这可能会在下一个版本的release中推出。我们还将提供一些基础设施咨询服务,一方面是工程师提供的人工服务,另一方面是工具 以互联网的形式分享我们的最佳实践。美团现在已经达到了数百亿的规模,并积累了大量的内部经验。如果我们能把这些积累传递给我们的客户,我们可以帮助客户避免许多弯路。美团云架构 美团云的前端和后台框架是Django,主要处理网络业务的逻辑。Django拥有丰富的社区支持、健全的文档和强大的功能。然而,一些特征似乎是多余的。例如,Django中的许多“黑魔法”都是通过数据库外键实现的,但美团有自己的DBA团队负责审查所有项目的数据库设计,他们要求不允许使用外键,据说是因为最佳实践经验。 Python还实现了后端整个云平台的框架。底层包括虚拟化计算、网络和存储三个功能系统。上层分为资源管理、任务调度、日志、监控、用户管理、通知和报警API、用量计费等模块同时在垂直方向上,还包括关系数据库服务、缓存服务、对象存储服务、负载平衡服务、模板和快照服务、虚拟专用网络服务等。虽然后端业务不同,但架构师抽象出一套处理工作流的逻辑,并用Python实现了一个框架。例如,在新闻通信机制的选择上,美团云没有采用类似OpenStack的新闻队列Rabitmq方案,而是采用Webserver。主要原因是考虑到Webserver经历了更长时间的考验,行业对HTTP协议有了更成熟的解决方案。例如,在新闻通信机制的选择上,美团云没有采用类似OpenStack的新闻队列Rabitmq方案,而是采用Webserver。主要原因是考虑到Webserver经历了更长时间的考验,行业对HTTP协议有了更成熟的解决方案。 &
推荐阅读
- 2021年餐饮行业收银系统最新排名,前5名高性价比推荐
现如今,伴随着物联网的全民化,智能控制系统的经营模式慢慢变成了餐企的“标准配备”,也是餐饮业市场需求的优点因素。针对店家而言,提升工作效能能够产生高些的盈利,而一个功能齐全的软硬件结账结账收银产品的确能够协助商家安心许多 。可是今日,iph…查看详情
- 外呼系统app怎么选?这几款重点推荐
现在的网络比较发达,也有很多产品采用电话销售的方式来完成任务,如果是这样的销售模式,那么就不能缺少一款好用的外呼系统APP了,这样不仅可以省心省事,更能够很好的节约成本和人力的资源。但是要注意,在选择外呼系统APP的时候,也要全…查看详情
- 网络推广引流的使用价值:可免费或低成本方式获得巨大流量
网络推广引流无论是对公司还是个人来说,都是一个获得流量的好方式。公司可以是为品牌曝光、宣传产品、销售转化,个人可以是为自己带来曝光和粉丝。 图片来源于网络 在互联网时代,流量为王。网络推广引流的价值,就是可以通过免费或低成本的方式来获得流量…查看详情
- 图片去马赛克恢复原图软件有哪些?好用的马赛克去除软件
在找图片的时候有一些图片是具有马赛克的,这样就不能够看到原图,所以说很多人都想要去除,马赛克其实想要去除马赛克也并不是一件难的事情,只要选择了很好的修复软件就能够进行操作。那么图片去马赛克恢复原图软件有哪些呢?接下来就给大家来介…查看详情
- 电视APP哪个好?这几款还不错
不少人在平时休闲的时候,就会通过看电视打发时间,正是因为顺应人们的需求,所以市场中也有很多好用的看电视APP,为大家的生活带来很多的方便,也有不错的观看体验,那么到底电视APP哪个好呢?这几款还不错,下面就通过文章的介绍,一起来…查看详情
- 免费的pdf阅读器有哪些 阅读pdf最好的软件推荐
在日常学习和工作生活中,我们都会浏览到一些pdf命名的文件格式的文件,那么有哪些软件可以轻松阅读pdf呢?下面是我给大家总结的6款可以免费使用的pdf阅读器,小伙伴们可以继续往下浏览。1.弘博PDF阅读器它是一款可以自动智能识别pdf阅读文…查看详情
- 集团crm系统的刚需功能和拓展性功是什么?
集团crm系统是在基础的crm系统上延伸出来的扩展版,根据集团企业的管理难点和企业特点进行了相应的功能开发,能够满足企业的多位一体、多区域、多渠道、多维度的管理体系。集团crm系统是大型企业、跨国企业的优质选择。图片来源于网络目前国内的CR…查看详情
- 六大门店系统排行榜,一般门店系统都有哪些功能
对于商家来说,做好门店的管理工作并不简单,一套优秀的门店管理系统可以帮助商家解决许多问题,能帮助商家打开运营门店捷径,你知道门店系统一般具有哪些功能吗?本文整理了一份六大门店系统排行榜,覆盖以下5款主流系统,排名不分先后。 1.hishop…查看详情
- 免费学日语软件哪个好 轻松学日语app
小伙伴们在学习日语的过程中,是不是除了课本的学习,不知道还有什么好用的学习网站和APP呢?下面万商云集小编就给大家整理了几款免费学日语软件。希望大家能喜欢。 一、最最日语 从五十音图开始,零基础学习日语。教材齐全,市面上有的教材…查看详情
- 足球直播APP有哪些?好用的足球直播APP介绍
很多人平时的时候都特别喜欢看足球。有些软件就可以进行足球直播,而且选择到了好的软件之后,还可以进行足球方面的交流,是非常方便的。那么足球直播APP有哪些?相信很多朋友们对这个问题也都比较感兴趣,都想要找到一款比较好的足球直播软件…查看详情
- 免费录歌软件哪款好?这些都是精品
唱歌是一件非常愉快的事情,还可以帮助大家转换心情,和减轻工作和生活的压力,尽情的释放各种不良的情绪,而现在有很多录歌的软件,可以让大家一展歌喉,那么下面就来了解吧。 1、酷我K歌 这款软件可以说是,集合了找歌还有练唱为一体…查看详情
- 如何选择优质的老域名
随着互联网的发展和普及,越来越多的企业和个人开始意识到,拥有一个好的域名对于网站的成功和品牌形象至关重要。而老域名作为一种稀缺资源,也受到越来越多人的青睐。那么,如何选择优质的老域名呢?本文将从以下几个方面进行详细的分析。 一、域名的…查看详情
- 微信小程序制作费用
制作微信小程序的费用因多种因素而异,包括开发复杂度、功能需求和开发团队的价格等。以下是关于微信小程序制作费用的一些重要考虑因素:1. 开发团队:费用可能与你选择的开发团队相关。有些公司和自由职业者的收费标准较高,而其他人可能提供更经济实惠的…查看详情
- 小程序运行内存不足怎么解决
小程序内存不足解决方法? 1、手机内存空间已满。这种情况我们可以删除手机中的一些软件,或清理一下微信缓存,腾出更多的空间来,然后重新打开微信。 2、手机后台占用过多。关闭后台所有运行应用,重新打开微信小程序即可解决。 3、如果以上…查看详情
- 低成本适合女孩开的店
近年来,随着小微企业的蓬勃发展,越来越多的女孩开始想要有一份属于自己的事业。然而,创业需要资金的支持,对于许多青年女性来说,资金匮乏的问题十分突出。因此,低成本适合女孩开的店,成为了这一群体的追求目标。本文将详细描述,适合女孩开的低成本…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP

企业首选的数字选用平台






