本文以拉勾教育为例,介绍通过函数计算、对象存储、API网关、日志服务等云服务如何应对流量洪峰等问题。
客户介绍
拉勾网隶属于北京拉勾网络技术有限公司,是一个专注于互联网职业的招聘网站,以众多优质互联网资源为依托,发布圈内招聘信息,为求职者提供人性化、个性化及专业化的信息服务,以让优质人才和优秀企业及时相遇为己任。拉勾网是一个热爱互联网的年轻团队,他们致力于打造最专业的互联网招聘平台。
拉勾教育是北京拉勾网络技术有限公司旗下品牌,帮助互联网职场人交流和提升技术能力,是互联网人的“实战大学”。拉勾教育基于拉勾网在互联网人才服务行业的经验,共同研发出一系列课程和服务,为互联网人提供学习机会,拉勾教育已开设专栏和训练营两种学习方式,课程涵盖研发、产品、设计、运营及市场等领域。
客户痛点
在拉勾教育众多的课程中,有一块领域是编程教育,会以图、文、音、视频的方式教授互联网热门领域的编程课程,同时课程中最大特色的就是交互式学习,做到了对知识的接收、理解、动手实操及掌握的闭环,编程教育的核心是在线编程系统,即在线输入各种编程语言的代码就能实时返回执行结果。用户期望在线编程系统能够具备以下特征:
支持多种编程语言Runtime:拉勾教育编程课程涉及到的编程语言、技术框架比较多,需要一套系统支持多种编程语言Runtime,并且能够方便快捷地增加其他编程语言Runtime。
可以支撑大并发量的请求:拉勾教育有大量优质的师生资源,每门课都有数以万计的同学在学习,需要一套在线编程系统能够支撑To C级别的大并发请求。
安全性高:不期望因为学习者的错误代码,例如死循环、黑客的恶意代码,造成系统崩溃甚至影响其他业务。
解决方案
函数计算是阿里云提供的Serverless计算平台,完美地契合了拉勾教育的诸多痛点,只需编写执行不同编程语言的逻辑并上传代码即可。以HTTP或事件驱动的方式触发函数计算实例执行业务逻辑并响应用户请求。同时与阿里云的对象存储、API网关、日志服务、MNS消息队列和表格存储等服务无缝对接,帮助用户快速构建解决流量洪峰的系统。
使用效果
支持多种编程语言的Runtime:函数计算支持Java、Python、Node.js、PHP及.NET Core语言,并且支持通过Custom Container的方式来构建其他语言的Runtime,例如Go Custom Runtime、Ruby Custom Runtime、PowerShell Custom Runtime等。
极致弹性和高可用性:用传统服务器搭建的系统若要支撑大并发,只能通过增加机器数量来实现,但是在流量突发场景,或者有一定流量潮汐的场景,机器启动的速度是比较慢的。函数计算通过预留实例模式和按量模式消除冷启动,达到百毫秒级拉起实例,同时可以配置单实例多并发模式,在突发流量场景下可快速拉起实例,横向扩容系统,从容面对流量洪峰。
完善的安全保障机制:函数计算在产品和系统设计的每个方面都把安全作为最高优先级的目标。您的程序在函数计算环境中运行的隔离保护和阿里云的云服务器的安全级别是一样的,函数计算在虚拟机级别隔离运行,在网络、数据、代码及防DDoS攻击等方面做了完备的保护。