本篇文章4367字,读完约11分钟

[李小年/钛媒编辑]上周,腾讯云举办了一场“用智慧打造最强应用”的沙龙活动。腾讯云业务合作负责人王志勇表示,当腾讯云开始申请时,有很多血腥的教训。特别是微信、qq空房间和Hand Q,这三个超过1亿级的应用程序,已经涉足了许多领域,从血泪中学到了很多。这一次,我希望分享我的经验。首先,让企业家和互联网公司少走弯路。第二,我希望吸引更多的顾客。

打造一款亿级应用你会碰到哪些问题?

以下是腾讯云主要工程师的干货分享,由钛媒体编辑编辑:

腾讯云R&D总监郑利峰:在构建一个价值十亿美元的应用程序时,你会遇到什么问题?

申请的数量每年都在不断增加。两天前,我问我们的同事谁打开了一个数据平台,有一两百万注册的开发者。那时,有超过20万活跃的开发者,也就是那些在一个月内不断上传应用程序的制造商。可以看出,在整个行业中有许多新的应用。

然后,在创业的过程中,每个人也遇到了各种各样的挑战。存在产品挑战、产品同质性和高流量成本,因此您可能不得不去各种电子市场购买流量。那么运营成本也很高。例如,如果你拉一个新用户,新用户的成本越来越高。技术挑战经常被忽视。

问题1:流量突然激增,可扩展性不足

有一个客户,他的流量在一周内飙升,他甚至没有想到在一周内,他从一个基本上不被人们使用的应用程序变成了一个全国人民都非常喜爱的应用程序。不到一周,道就超过了200万。他们可能只有几台服务器,他们的程序员可能只有几个人。然后面对突然激增的交通,技术人员承受着巨大的压力。

当我去面试时,我坐在他们旁边,和技术人员交谈。他说我已经好几天没睡觉了,然后在一两天之内就爆发了各种由交通高峰引起的技术问题。被无数人使用后,流量和程序错误也会激增。然后暴露出性能问题、架构可伸缩性问题等等。

我列出的第一个问题是业务访问在短时间内快速扩展,以及技术架构缺乏灵活性,这导致了服务器的跨越。一是缺乏高性能设计,二是缺乏可扩展性。此外,即使可伸缩性足够,几天后流量也会飙升,我面临的一个问题是我不会很快购买服务器。根据我们购买服务器的常规流程,也许我会购买一台服务器并下订单。即使速度很快,我也会在中关村买一台服务器并下订单(报价00931,咨询)。它可能需要几天时间才能上架,但这几天它已经势不可挡。

打造一款亿级应用你会碰到哪些问题?

在另一种情况下,有另一种企业。也就是说,每个月的访问数据都在增加,也就是说,dau每月增加100,000个。然后,一些这样的公司的运行和维护同事也在挣扎,购买设备,把它放在货架上,购买设备,然后每个月把它放在货架上,不断做重复的工作。对他来说,一方面,他感受到公司快速发展带来的喜悦,另一方面,他也在不断重复劳动。他自己的自我价值意识不高,因为他一直在做这样的事情。

打造一款亿级应用你会碰到哪些问题?

解决方案:部署高质量的云主机

高质量的云主机。云的一个共同特征是,机器只需点击几下鼠标就能得到它。可能是500或1000。移动应用的好处不言而喻。您的业务量增加了,因此您可以立即部署机器。为了实现快速部署,我们有镜像的能力。例如,如果你是一个网络服务,我可以镜像第一个网络,然后购买一百台机器,然后快速部署一百台。整个部署速度也非常快。

打造一款亿级应用你会碰到哪些问题?

以“饥饿”为例,它过去有一个计算机房,差不多有两三百台机器。然而,业务每月都在增长,所以运营和维护部门很头疼。正如我刚才所说,每个月都有必要购买设备并上架。那么那个计算机房的容量是有限的,而且可能几乎是满的。然后再部署另一个机房,整个周期很强,所以我们告诉他应该在腾讯云机房部署服务。首先,我们可以为您提供非常高的安全保护,其次,我们的性能非常好。在这种情况下,我们假设一个vpn是一个加密的隧道,这样它自己的机房就可以同步到腾讯云的机房,并且可以通过数据库同步来同步数据。

打造一款亿级应用你会碰到哪些问题?

实际上,从北京的机房到我们上海的云机房,vpn开通后数据库的延迟是60毫秒,这远远超出了大家的预期。

问题2:安全问题,总有一些“朋友”不太喜欢你的应用程序

社会很大,总有一些制造商不太喜欢你的应用。在这种情况下,ddos攻击出现得越来越频繁,方式也越来越多。过去,ddos攻击是人们谈论最多的,但现在越来越多的是cc攻击、主机入侵和木马植入。

o2o出现了一个新的情况,这在我们的o2o中是显而易见的,即o2o的这些信息平台密切关注其上面的业务信息。当同类应用出现时,他们总是想窃取这些企业的信息。对于o2o应用来说,这种情况是不可容忍的,他们会问我们是否有一些防止盗用的措施。

和安全。尤其是在举办大型活动的时候,比如说,如果你饿的时候想举办美食街,举办大型活动的时候你会被人攻击和打倒,所以基本上没有办法做这个生意。

在安全层面,腾讯云拥有全面的安全防护系统——神盾+大宇、洋葱和威化防护。

宙斯盾是安全保护的一个非常重要的组成部分,腾讯自己的所有业务也使用这项服务。它有几个特点。当用户攻击你和你的应用程序时,神盾会在几秒钟内被检测到,防御会立即开启。然后,它会将攻击流量转移到另一个地方,并清理流量,以确保正常流量可以正常进入,可能是这样的。

它的整个反应非常快。一开始并不是很快。我们已经打磨了很长时间,现在我们可以在几秒钟内立即做出反应。不久前,发生了一次500克流量的大规模攻击,攻击了我们的一个机房。它反应迅速,并在几秒钟内将攻击流量转移到另一个地方。然后其他流量可以正常进入,我们所有的业务都可以正常运行。对于这样的问题,如果你不把它放在云机房,遇到这样的情况可能会很棘手。

打造一款亿级应用你会碰到哪些问题?

独自处理和解决这样的问题是非常困难的。我们也遇到了很多客户,包括游戏客户和应用客户,他们会被打,打不开门,然后突然被撞倒。在这种情况下,业务不能正常进行。腾讯一直非常重视安全性。我们的qq业务也使用它,我们的微信业务也使用它。

“大禹”和“大禹”与“神盾局”有点不同。宙斯盾在计算机房前增加了一个防御盾牌。谁打我,谁就杀了交通。那么“大禹”就意味着我在中国有400多个接入点,当我解析域名时,我会去附近的某个节点。然后通过这些节点到达我们的云机房。

当用户攻击域名解析时,我可能会把它解析到一个oc节点,它会击倒一个节点,而我的其他节点仍然正常。它击倒哪个节点并不重要。那么我们的分布式防御系统大禹最多可以支持2t的ddos攻击,所以这个容量已经很高了。

腾讯云工程师蔡威:从35万到600万的订单,滴滴打车几乎崩溃

2014年,手机应用榜单上的前10大应用几乎都是英美资源集团的,但这肯定有很多原因。最重要的原因之一是,英美烟草在多年的长期运营中积累的大量运营经验为这些应用增加了翅膀。

那么,日订单为35万的应用和日订单为600万的应用有什么区别呢?众所周知,应用程序实际上是由客户端和服务器共同完成的功能。然后,对于客户端,可能会优化一些接口,然后叠加一些功能。然而,在服务器端,确实有必要从质量上提高性能和架构,这不是一个步骤,而是很多步骤。

今天,申请订单从35万到600万实际上是滴滴打车。

滴滴打车,在2014年,当它很快的时候,实际上是钱被拼写和烧毁。但是拼写是他们的后台服务器。当时的情况是,谁拿不动它,谁就输了。

目前,2014年中国使用滴滴打车的用户超过1亿,2014年平安夜使用滴滴打车的人数超过3000万。与2013年相比,滴滴打车每月活跃用户增加了600多倍,打车成功率高于90%。这个数字似乎很客观。不过,我们已经对腾讯云滴滴打车的架构进行了评估,日订单量翻倍没有问题,所以我们可以保留。

那么这个建筑是如何形成的呢?罗马不是一天建成的,但滴滴打车的建筑不是一下子建成的。

2014年初,腾讯云开始联系滴滴打车。当腾讯云开始联系滴滴打车的时候,滴滴打车的流量当时就上升了,但是用户体验下降很快。这种反映是,用户在下订单时不能下订单,驱动程序不能抓取订单,然后整个应用程序可能卡在那里,或者用户可能简单地关闭它并退出。如此糟糕的用户体验的根本原因是其背景架构的问题,这在当时是不堪重负的。

打造一款亿级应用你会碰到哪些问题?

例如,如果存在单个lvs故障,即单个点,则整个系统的一个关键节点出现问题,并且一个主要组件挂起,则整个路径挂起。还有一个存储系统故障,然后是网络故障,交换机流量已满。因为当时不是bgpip,所以说当它不是bgpip的时候,当它穿越网络和运营商的时候,当流量很大的时候,就会有很高的丢包率和延时,用户体验就会下降。

打造一款亿级应用你会碰到哪些问题?

另一件事是网络服务器无法处理它。当时他们使用了大量的网络服务器,处于一种状态,这导致了这样一个事实,当它需要扩展时,它不能在短时间内扩展,所以机器不能被添加。还有一些问题,比如mysql不能处理它,以及链接的最大数量。

滴滴打车有三个主要问题,一是用户的订单,二是司机的订单抓取,三是系统的订单拆分。其中,当用户下订单时,用户将继续查看订单,而当司机抓取订单时,他将继续报告他的坐标,当他抓取订单时,系统将订单分割,这将有大量的计算来匹配司机和用户。所有应用程序的关键点都在它们的数据上实现,所有这些都在mysql上实现。所有的海量数据读取都是由他们的mysql进行的。当订单数量很大时,它就不能被带走,许多应用程序最终会被卡在数据库中。

打造一款亿级应用你会碰到哪些问题?

腾讯云已经给出了这些问题的解决方案。每个人都熟悉lvs,也就是说,对于这种开源软件,企业家实际上非常喜欢使用它。它非常简单,可以在部署时方便快捷地使用。然而,开源软件有一个问题,那就是开源软件商业化之后,会有很多你没有预料到的、无法解决的奇怪问题。这并不是说一些写开源软件的大奶牛不能解决这些问题,但是当他那时写这些开源软件的时候,他不知道当你的工作量增加的时候会有如此复杂的情况需要你去处理。

打造一款亿级应用你会碰到哪些问题?

腾讯实际上从开源软件经历了这个过程。我们以前使用过lvs,现在我们开发了自己的外部网络负载替换系统,内部称为tgw。它由多个集群组成,每个集群目前配备有四台标准机器,但这四台机器是可扩展的。也就是说,这个集群中一台机器的pps可以达到120万,但是我们通常在达到80万时开始扩展,达到120万,集群链接的数量可以达到1.2亿。

打造一款亿级应用你会碰到哪些问题?

此外,腾讯云拥有100千兆的出口带宽,并拥有bgpip,解决了跨网络、跨容量和跨运营商的网络间的这一问题。

事实上,子系统的解耦是为了解决这些你有机器却不能安装它们的问题,这样你的设备和系统可以并行扩展。

Nosql缓存,用mysql取其常用的热数据,具有高并发性和快的存储速度。

高性能cdb。实际上,高性能的cdb是我两天前与我们的数据库主管交谈过的那个。他说,我们现在测量的实际高性能cbd将立即推出,可以达到4w+qp。

最后,机房保证。

多年来,腾讯在庞大的运营过程中积累了一套完善的机房建设标准。只要您的业务放在腾讯云上,或者您的机房保证实际上与qq和微信应用的机房保证条件完全一样。(这篇文章是第一个钛媒体)

标题:打造一款亿级应用你会碰到哪些问题?

地址:http://www.jcpa.cn/blgxw/4012.html