腾讯云100亿元目标达成,发阳光普照奖iPhone 11 Pro,你酸了吗?
12 月 19 日,鹅厂腾讯发钱的消息又像往年一样引来了一群柠檬精。除了微信支付团队获得 2 亿元奖金的消息之外,一张腾讯云团队每个员工奖励一部 iPhone 11 Pro 的 H5 页面截图也不断地轰炸着朋友圈。
原来这张图说的是腾讯云在 Q3 已完成 2019 年全年 100 亿元的营收目标,为此为部门所有员工奖励每人一部iPhone 11 Pro 新款手机。据内部人士消息,甚至合作部门也被“雨露均沾”发了手机。稍后,腾讯回应此消息属实:“腾讯云在第三季度内实现年度收入成功突破 100亿元,今年公司特别授予腾讯云团队及TEG兄弟团队创业里程碑激励。为此,特别选择这个时间点,对相关团队发放纪念礼。”
在 11 月公布的 2019 年第三季度财报中,腾讯第一次披露单季度的云业务收入。财报显示,2019 年第三季度,腾讯收入为 972.36 亿元,同比增长 21%。其中,企业服务方面,腾讯云收入同比增长 80% 至 47 亿元。
12月2日,市场调研机构 Canalys 发布的最新的中国云计算基础设施支出数据报告显示,2019 年第三季度,腾讯云销售额同比增长 91.6%,市场份额已经增长至 18.6%。这也反映了国内云市场的繁荣。
酸够了之后,吃瓜群众的注意力又转移到这次为内部员工推动大奖消息的 H5 页面,原来这个活动的底层技术支持由腾讯云 Serverless 团队提供,并在知乎上放出来关于这个 H5 页面的技术实现过程,这里分享给大家学习下:(来源:知乎用户腾讯云 Serverless
https://www.zhihu.com/question/361816953/answer/942761682)
背景
需求描述:腾讯云向员工发放激励,最终需要输出微信 H5 页面;
开发挑战:只有 1 名工程师,两天内完成方案设计、开发、测试和上线!
技术实现
系统架构
系统需要实现:
根据员工属性直出 H5 页面,领手机的员工直接在前端切换至手机页面;
考虑到这种内部活动会同时推送,会出现瞬时并发高峰,然后马上趋于平稳。出于成本和架构合理性的考虑,应该选择支持高峰并发请求,又可以自动扩容缩容的服务架构。
结合以上需求,最终选择了腾讯云,以 API 网关+腾讯云云函数为核心的技术架构。腾讯云云函数是腾讯云提供的无服务器执行环境,具备自动扩缩容能力,支持高并发,且不需要操心主机购买、环境搭建等,开发效率高,无需担心运维。
并发能力、压力测试
活动涉及总人数超万人,为了确保万无一失,系统按照 2000 QPS 的并发能力设计,云函数并发能力由云函数并发数量和云函数运行时间共同决定。
这里,引入了 Redis,把数据库中所有名员工的数据提前写入 Redis 中,提高查询效率。非白名单员工或 Redis 过期后(此时应该已度过高峰期),再降级查询数据库内的员工信息,此方案下云函数的运行时间低至 10ms 以下。
实际运行
活动进行时,监控显示一切正常,系统设计支持 2000 QPS 的并发能力,最终平稳支撑项目运行,顺利度过瞬时高峰。
API 网关监控
云函数监控
腾讯云里程碑专属 H5 推送项目,需求内容本身并不难,但需要做不少的工作才能确保万无一失。作为前端开发,Serverless 确实让前端更容易向全栈发展,且更容易开发出稳定性好、支持高并发的后端服务。
(*本文为AI科技大本营整理文章,转载请微信联系 1092722531)
◆
精彩公开课
◆
推荐阅读
GitHub宝藏项目标星1.6w+,编程新手有福了
芬兰开放“线上AI速成班”课程,全球网民均可免费观看
英特尔首推异构编程神器 oneAPI,可让程序员少加班!
该如何缓解网卡的普遍问题?
英特尔首推异构编程神器 oneAPI,可让程序员少加班!
马云穿布鞋演讲,任正非打的出行,盘点科技大佬们令人发指的节俭生活
行!人工智能玩大了!程序员:太牛!你怎么看?
2019 区块链大事记 | Libra 横空出世,莱特币减产,美国放行 Bakkt……这一年太精彩!
谁是蒋涛?
你点的每个“在看”,我都认真当成了AI
相关文章:

分享一个python cookbook的在线教程地址
分享一个python cookbook的在线教程地址:http://python3-cookbook.readthedocs.org/zh_CN/latest/翻译者:熊能转载于:https://blog.51cto.com/verdureorange/1653514

优化系统后VS启动不了问题的一种解决方案
本文只讨论使用第三方软件优化系统后,或者您主动禁止服务后导致VS不能启动的问题。(转载请指明出处) 记得大概是08年时,我使用一些软件对电脑启动项做了优化。后来打开VS2005时,发现VS2005会一直保持在“载入界面”,当时十分懊恼&…
懂数学的程序员能有多吃香?这是我听过最好的答案丨颠覆认知
懂数学的程序员能有多吃香?关于这个问题,我想每个程序员心中都有自己的答案。之前在网上看到一个很有意思的答案说:我是在做了2年的开发之后,才真正认识到数学对于程序员的重要性,开始系统的学习数学。理由无它&#x…
基于OpenCasCade的程序发布问题
基于OpenCasCade二次开发了一个程序,想采用简单的copy的发布(部署)方式。 但在发布时遇到了很多问题。总结一下。 首先将所有所需的dll拷贝到了执行目录下,然后将程序copy到一台未安装OpenCasCade的机器上运行出错,信…

Unity3D移植到自己的Android程序
用Unity3D开发需要把动画效果移植到现有的APP上面。Unity for Android 比较特殊,Unity for IOS 打包是将XCODE工程直接交给开发者,开发者可以在工程的基础上继续添加新的视图,最后由开发者自行打包生成IPA包,发布程序。而Unity fo…

一种注册表沙箱的思路、实现
从今年4月份开始,我接触到一个沙箱项目。该项目的需求要求我们的沙箱具有良好的安全性和兼容性。当时我们研究了SandBoxIE和360的沙箱,基本确定通过“重定向”思路来实现这款沙箱。而我主要负责研究注册表这块。(转载请指明出处)在…
PyTorch实现L2和L1正则化的方法 | CSDN博文精选
作者 | pan_jinquan来源 | CSDN博文精选目录1.torch.optim优化器实现L2正则化2.如何判断正则化作用了模型?2.1未加入正则化loss和Accuracy2.1加入正则化loss和Accuracy2.3正则化说明3.自定义正则化的方法3.1自定义正则化Regularization类3.2Regularization使用方法4…

构建插件式的应用程序框架(六)----通讯机制(ZT)
前天发了构建插件式的应用程序框架(五)----管理插件这篇文章,有几个朋友在回复中希望了解插件之间是如何通讯的。这个系列的文章写到这里,也该谈谈这个问题了,毕竟已经有了插件管理。不知道大家…

【翻译】将Ext JS Grid转换为Excel表格
原文:Converting an Ext 5 Grid to Excel Spreadsheet稍微迟来的礼物——Ext JS Grid转为Excel代码,现在支持Ext JS 5!功能包括: - 支持分组 - 数字的处理 VS 字符串数据类型 - 对于不支持客户端下载的浏览器会提交回服务器Enjoy&…
AI研究过于集中狭隘,我们是不是该反思了?
作者 | Sergii Shelpuk译者 | 陆离编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100)【导读】2019年是AI领域更加冷静的一年,少了些喧嚣和泡沫,大浪淘沙留下的是经过检验的真正的AI研究者、实践者。但是你也许没有发现,本…

上周回顾:微软与苹果比赛谁更“不安全”
每个月的第二周应该是微软例行发布补丁的日子,本周也不例外,微软如定期新闻发布会一样公布了自己的安全公告。这本来已经成了例如51CTO.com这样关注企业网络安全的媒体重要的素材,不过没想到的是本周苹果偏要抢这个风头……热点一:…
一种注册表沙箱的思路、实现——注册表的一些基础知识
要做注册表沙箱,就必须要了解部分注册表知识。而注册表的知识很多,本文主要讲述如何在win32系统是上识别注册表映射的。(转载请指明出处) 在我的xp 32bit系统上,WinR regedit之后打开注册表管理器。我们可以看到如下主…

bzoj 2565: 最长双回文串 manacher算法
2565: 最长双回文串 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id2565 Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆…
44岁的微软如何刷新未来?
整理 | 伍杏玲出品 | AI科技大本营(ID:rgznai100)在当今的“云”时代,很多企业在多个云计算平台部署应用,且需要统一管理和保护应用。在微软Ignite 2019 大会上,为了让企业轻松地在任何类型的基础设施平台上…

一种注册表沙箱的思路、实现——Hook Nt函数
Nt函数是在Ring3层最底层的函数了,选择此类函数进行Hook,是为了提高绕过门槛。我的Hook方案使用的是微软的Detours。(转载请指明出处)Detours的Hook和反Hook的写入如下: DetourTransactionBegin(); DetourUpdateThread…

浅析Struts 体系结构与工作原理(图)
Struts 体系结构是目前基于java的 web系统设计中广泛使用的mvc构架。基本概念 Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用模型-视图-控制器(Model-View- Controller,简称MVC)模式,能够…

2015第22周一Web性能测试工具及IE扩展区别
在高性能web测试工具推荐http://www.jb51.net/article/23034.htm中发现了dynaTrace 感觉很不错,不但可以检测资源加载瀑布图,而且还能监控页面呈现时间,CPU花销,JS分析和执行时间,CSS解析时间的等。http://www.ibm.com…

一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1
因为我们沙箱注入了一个DLL到了目标进程,并且Hook了一系列NtXX(NtOpenKey)函数,所以我们在注入的代码中是不能使用RegXX(RegOpenKey等)这类函数的。因为RegXX系列函数在底层使用了NtXX系列函数,如果在注入DLL执行Hook后的逻辑中使用了RegXX系…
面试大厂背怼!这都搞不定,你只能做“搬运工”!
每一个面试过大厂的程序员似乎总会有种种困境:毕业季参加大厂校招面试,我本以为做过一些真实项目就不错了,没想到根本没问什么项目,都是基础知识,数学、算法,然而平时只喜欢学程序设计。小公司工作3年&…

net程序架构开发
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 程序架构,功能的划分: 数据库(包括存储过程) 数据访问(包括Microsoft Application Blocks for .NET的2.0版) 数据结构(等价于强类型DataSet) 业务逻辑层 业务表现层 数据库:不用说…

Java面向对象学习笔记 -- 6(内部类、Timer)
1. 内部类内部类就是在一个类的内部定义的类,有:静态内部类、成员内部类,局部内部类、匿名内部类。-1) 静态内部类:使用static修饰,声明在类体中, 静态内部类中可以访问外部类的静态成员,开发很…
30年间,软件开发行业为何Bug纷飞?
作者 | Chris Fox译者 | 弯月,责编 | 屠敏出品 | CSDN(ID:CSDNnews)【导语】在时间的推移历程中,软件行业早已发生了天翻地覆的变化。和曾经大家习以为常的编码日常相比,越多越多的开发者发现,如…

去掉字符串两端的全角空格和半角空格(含源代码)
昨天,遇到了一个技术问题。本来我在程序中用的trim()方法来处理从JSP页面传来的值,后来在测试时,发现当我输入的是全角空格时,trim()方法失效。需求是这样的,只是去掉字符串两端的空格(不论是全角空格还是半角空格&…

一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现2
上一篇博文中主要介绍了Reactos中大部分函数的思路和HKEY和HANDLE之间的关系,本文将介绍一些Reactos中有意思的函数和存在bug的函数。(转载请指明出处)CreateNestedKey是一个辅助创建键的函数,比如我们要创建\Regsitry\User\3\2\1…

云计算安全解决方案白皮书(一)
云计算安全解决方案白皮书Jack zhai研究云的安全有两三年了,但形成完整的安全思路,还是去年的事,这也是“流安全”思路形成的主要阶段。云计算的安全问题之所以突出,是因为虚拟机的动态迁移,以及多业务系统交织在一起&…

一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现3
这篇我们看一个”容错“”节省“的实例。一下是一个Win32API的声明(转载请指明出处) LONG WINAPI RegEnumKeyEx(__in HKEY hKey,__in DWORD dwIndex,__out LPTSTR lpName,__inout LPDWORD lpcName,__reserved LPDWORD lp…
腾讯Angel升级:加入图算法,支持十亿节点、千亿边规模!中国首个毕业于Linux AI基金会的开源项目...
出品 | AI科技大本营(ID:rgznai100)【导语】Angel 是腾讯的首个AI开源项目,于 2016 年底推出、2017年开源。近日,快速发展的 Angel 完成了从 2.0 版本到 3.0 版本的跨越,从一个单纯的模型训练系统进化成包…

如何在JSP页面中获取当前系统时间转
出自:http://hi.baidu.com/itfuck_/item/803662469cdf7baa61d7b945 1: import java.util.*; int y,m,d,h,mm; Calendar c Calendar.getInstance(); y c.get(Calendar.YEAR); //年 m c.get(Calendar.MONTH) 1; //月 d c.get(Calendar.DAY_OF_MONTH); //日 …
如何用Python实现超级玛丽的界面和状态机?
作者 | marble_xu编辑 | 郭芮来源 | CSDN博客小时候的经典游戏,代码参考了github上的项目Mario-Level-1(https://github.com/justinmeister/Mario-Level-1),使用pygame来实现,从中学习到了横版过关游戏实现中的一些处理…

一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现4
今天为了KPI,搞了一天的PPT,搞得恶心想吐。最后还是回到这儿,这儿才是我的净土,可以写写我的研究。 这儿讲一些Reactos中一些明显的错误。(转载请指明出处) 在Reactos的RegQueryInfoKeyW中有段这样的实现 i…