写点什么

又拍云张聪谈安全、HTTPS、自定义、CDN 的未来趋势

  • 2016-10-25
  • 本文字数:2419 字

    阅读完需:约 8 分钟

近期,EGO 对又拍云研发构架师张聪进行了专访,在专访中张聪阐述了他对 CDN 未来独特的见解,听得小拍崇拜不已,赶忙为大家搬来采访稿,大家快来跟小拍一起跟随张聪了解一下 CDN 的未来吧!

专注于场景化 CDN 业务的又拍云,自创办以来,业务、团队一直在快速扩张。在这个过程中,又拍云完成了技术选型、替换、迭代优化等一系列工作,既有国内较早引进 ngx_lua 的壮举,也难以避免地有踩过一些坑。EGO 特别采访了又拍云架构师张聪,听他聊聊又拍云在基础架构方面的那些事儿,也聊聊关于 CDN 未来又有哪些可能。

下面是经过编辑整理的采访内容:

EGO:先简单介绍一下自己吧?

张聪:我 4 年前加入又拍云,之后一直从事 CDN 领域的工作,非常有幸经历了又拍云 CDN 从早期起步比较简陋、用户量比较少的阶段,到今天业务量不断扩大、技术体系不断变革完善的整个发展过程。

最早团队小的时候,什么事都需要自己去做,像写代码、上线、运维等都得一个人搞定,现在 CDN 团队不断扩大,除了技术之外,我也开始负责一些管理团队的工作,虽然中间也遇到了很多问题,但也收获了很多经验,也是跟着公司的变大不断去适应不同的挑战。

引入 ngx_lua、二次开发、开源

EGO:能分享一下您在又拍云最有成就感的事吗?

张聪:公司成立以来,又拍云业务一直在不断快速扩张,在这个从小变大的过程中,肯定需要对架构进行改造和升级,否则就无法承受业务的增长,所以我们曾面临了一些技术选型的问题。

最早的时候,又拍云 CDN 用 Nginx C 模块进行业务开发,但它的维护成本很大。我们作为一家创业公司,就想选择开发尽可能方便、效率尽可能高的技术,经过多方考量之后,我们引入了 ngx_lua 项目。虽然当时 ngx_lua(下图)在国内没那么普及,应用也还不是很广泛,但我们觉得它非常符合我们的需求,就把它引入到了又拍云的 CDN 开发框架里了。

在创业公司,技术选型还是非常自由的,只要关键的核心技术人员能够胜任某些新技术,公司一般也会支持这些新技术以及架构上的调整。

引入之后,其实也遇到过很多困难,因为 ngx_lua 在国内的使用不多,很多资料都偏向国外,国内甚至很少能够找到交流的人,包括招人的时候,也很难招到相关的技术人员。我们是先自己摸索,慢慢地把线上系统从旧模式替换到新的模式。同时,我们也招了一些技术比较好的新人,从头培养,这样持续半年、一年之后,他们就能适应新的开发方式。中间也踩了很多坑、付出了很多代价,但当我们都跨过去后,整个 CDN 业务基础的开发环境也就顺利转变过来了。

这样,后续的开发、功能逻辑的迭代、维护都比之前轻松了非常多,而且在之后很多 CDN 功能的演进中,我们的效率都是比较高的。我们也总结出了很多文档,能给新来的技术同学学习,同时,这个项目在国内也越来越流行了,我们也能跟国内同行有更多的交流。

现在回过头来看,当初把 ngx_lua 引进公司,到后面 CDN 整个技术发展方向再到现在,这个选择是非常正确的,整体加速了开发节奏、节省了维护负担。对我们这样 CDN 领域的创业公司来说,就需要在条件有限的情况下选择一项更高效的技术。

这也是我印象比较深刻的一件事,对技术人而言,能经历这种引入一个新技术,到自己慢慢掌握它,再到能跟同行去分享,是非常有意义的一件事。

EGO:现在还在沿用 ngx_lua 吗?

张聪:还在用。但官方更新不一定能满足我们现在的需求,所以我们会在这个基础上加入自己的东西,做二次开发。

一开始我们只是拿来用,之后业务复杂了,我们就自己去修改它、完善它,跟它一起开发、发展。同时,我们也陆续在 github 上开源了几个相关项目,回馈社区。

EGO:能分享一下您踩过的坑、遇到的挑战吗?

张聪:其实踩过很多坑,我讲一个比较典型的。一般来讲,CDN 厂商承受的请求量、流量是非常大的,甚至远比中型站点的流量来得大。

在这个基础上,我们做一些功能的改造、新功能的发布的时候,就会面临很大的挑战。特别是功能的改造,就像是在一辆行驶得很快的车上换零件,业务量越大越有这种感觉,有些比较大的改造,往往还会涉及到系统的好几层。因此,我们很难非常干净利索地去做整个架构的调整、演进,只能是做好整个调整计划,然后把整个计划拆成 N 片,一点一点去做推进,就好像一个一个零件做替换一样。

其中,最大的痛苦是,因为 CDN 上有很多缓存,如果更换某个“零件”的过程中一旦出了问题,代价就会非常大。因为除了错误本身之外,这些错误还会污染到 CDN 上一些缓存系统,相当于你除了要修复 bug 之外,还要把被污染的缓存部分挑出来、清理掉,这是非常让人头疼的一件事情。用数据开发做比喻,就相当于你的数据被污染了,你修复了 bug 之后,还要挑出那些被污染的数据,再把它们修复掉。这个过程是非常费心费力,也非常折腾。
这是让我印象比较深刻的踩过的坑。又拍云也制定了各种方案,采取了人为的、系统的各种措施来减少这种事情发生的可能,比如现在我们改造之前,就需要经过多个精心设计的流程、观察各种数据指标,以保证过程的顺利。

CDN 服务的未来:安全、可定制化、自主配置

EGO:能分享一下 CDN 领域未来的趋势吗?

张聪:第一,CDN 可能不仅仅是简单的加速,还需要有一些安全防护方面的功能。你的网站会不会被攻击、别人是不是异常访问你的网站,这些都是 CDN 安全领域的内容。特别是大客户,他们对 CDN 安全方面的要求会非常高。同时,因为 CDN 是一张全国的网,它承受攻击的能力肯定要比用户的一个源站、单个节点的能力来得高,所以 CDN 上可以做好多安全相关的产品。

又拍云也在完善 CDN 安全方面的产品,在去年就推出了应用防火墙系统,一些简单的注入攻击、漏洞扫描,又拍云 CDN 网络就能帮用户挡掉这些风险。这是我觉得未来 CDN 发展的一个方向点。

第二,HTTPS 是未来的趋势。它的应用会越来越广泛,CDN 也就需要对此做出相应的变化。例如又拍云就推出了 HTTPS CDN 的动态证书调度,用户在我们后台简单配置一下他的域名,然后上传 HTTPS 证书,几秒之后就能全国生效,我们的边缘节点就会进行加载的证书、支持 HTTPS 访问,非常方便。

2016-10-25 02:271395

评论

发布
暂无评论
发现更多内容

2面技术+HR面+offer,成功入职头条月薪35K

Java 程序员 后端

30岁以后搞Java已经没有前途,Java经典排序算法

Java 程序员 后端

4面字节跳动拿到Offer,尚学堂java视频下载,初级Java面试题大全

Java 程序员 后端

35岁老年程序员的绝地翻身之路,Java面试重点问题

Java 程序员 后端

3分钟就能完成的Redis主从复制搭建,10天拿到阿里Java岗offer

Java 程序员 后端

027云原生之服务网格应用

穿过生命散发芬芳

云原生 10月月更

2021金九银十面试季,java零基础入门视频教程,成功入职腾讯

Java 程序员 后端

2021阿里Java高级面试题总结,Dubbo高频面试题+解析

Java 程序员 后端

21年Java面经分享,Java面试知识点总结宝典助你通关

Java 程序员 后端

25K大牛甩出的超详细面试总结,给班出身的程序员一些建议

Java 程序员 后端

先行一步,7大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了

阿里巴巴云原生

阿里云 Serverless 云原生 云栖大会

3年内被辞退5次,35岁程序员该何去何从,Java工程师必备知识

Java 程序员 后端

46道面试题带你了解高级Java面试,linux教程视频合集

Java 程序员 后端

4面阿里拿到P7Offer,SpringSecurity如何实现加密和解码

Java 程序员 后端

2021网易Java高级面试题总结,初级Java程序员面试题

Java 程序员 后端

云栖掠影|回首开源十年,RocketMQ 焕发新生

阿里巴巴云原生

阿里云 RocketMQ 云原生

阿里技术官终于把这份万字面试手册整理出来了,在Github上获赞89.7K

Java 编程 程序员 架构 面试

不要让孩子在12岁之前接触手机游戏

石云升

育儿 10月月更

推荐两款工具给爱做实验的人

Java 开源 编程 架构

2面技术+HR面+offer,从头到尾,都是精华

Java 程序员 后端

35岁技术人如何转型做管理?牛客网中级项目笔记,Java高级工程师必备知识

Java 程序员 后端

4个改变你编程技能的小技巧,非科班生金九银十求职经历

Java 程序员 后端

区块链上升为国家战略两周年后 看浪潮下企业如何创新数字化应用

CECBC

2021百度Java岗面试真题收录解析,Java开发者必看避坑指南

Java 程序员 后端

4面技术5面HR附加笔试面,初级Java面试题大全

Java 程序员 后端

30岁以后搞Java已经没有前途,java自学编程入门教程,大V推荐

Java 程序员 后端

35岁技术人如何转型做管理,mybatis使用教程,Java全套视频

Java 程序员 后端

35岁程序员的人生感悟,mongodb入门教程,阿里Java高级工程师面试题

Java 程序员 后端

38岁的中年失业者怎么活下去,Java中级工程师面试题及答案

Java 程序员 后端

4个改变你编程技能的小技巧,附答案解析

Java 程序员 后端

4面技术5面HR附加笔试面,面试的时候突然遇到答不上的问题怎么办

Java 程序员 后端

又拍云张聪谈安全、HTTPS、自定义、CDN的未来趋势_音视频(后端)_EGO陈圆圆_InfoQ精选文章