开发者社区> 视频云技术> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Akamai Martin Horčička:最新网络优化技术及编程语言分析

简介: 在LiveVideoStackCon深圳站开场之前,我们邀请到了Akamai公司的研发经理Martin Horčička来接受我们的采访, 采访中Martin向我们分享了他早期关于UNIX相关的OS、网络和开发的工作以及对于近几年编程语言发展的看法。除此之外Martin还提供了关于multi-connection和 P2P的一些技巧,最后,Martin还谈到了Akamai最近的项目在基于UDP的安全传输协议做一些优化。
+关注继续查看

文 / Martin Horčička


整理 / LiveVideoStack


LiveVideoStack: Martin 你好,能否向LiveVideoStack的读者介绍下自己,以及你目前主要的工作以及关注的技术方向?

 

Martin Horčička: 大家好,我是 Akamai 公司QUIC 团队的研发经理,团队位于捷克的布拉格,目前主要负责提供 QUIC 协议实施,以便将它集成到 Akamai 软件中,支持集成、部署和性能调优,除此之外我们还在为QUIC进行优化、改进和改善、调整网络协议。

 

除了维护Chromium软件兼容性,支持新的 Google QUIC 版本以外,我们目前还在优化CPU利用率方面开展工作。 这是一种提高重新连接的 QUIC 性能的机制,当然最引人注目可是IETF QUIC的支持。 我们预计IETFQUIC的工作将成为我们2020年最重要的一组任务。


LiveVideoStack:从你的工作经历可以看到,从最初的UNIX系统管理员到软件开发工程师再到研发经理,职位的变动对你来说有哪些不同的感受? 职位越高是否意味着不会再从事基层的编码工作?

 

Martin Horčičk: 在ISP从事系统和网络管理以及操作系统测试,再跨到软件开发也许是个很长的过程,但我觉得是值得的,实际上这艰难的道路增进的我个人的基本软件技能、网络知识,更何况的是我从中可以深度理解客户的特殊要求及从不同的角度看待事情。 所有我 的工作其实都围绕着软件开发,所以才会最终走向软件开发的职业道路。

 

近期我接触基本编码的机会也逐渐减少,说实话我偶尔也会想起那段时光。 另一方面,我保持专注在架构层面,我同时参与多个有趣的项目,我参与制定公司的技术方向,最重要的是我可以与许多非常有才华的同事合作。


LiveVideoStack:你曾使用C,Python,Perl,Shell和Java编程语言进行软件开发,作为一名资深的软件开发工程师,你如何看待近几年编程语言的发展?

 

Martin Horčička: 作为过去9年C++的使用者,我发现编程语言的发展终于开始稳步地前进。 过去,C++开始的时候遇到缺乏标准,很难推进。 现在,C++定期更新,进度问题也转移到使用它的公司组织,因为他们需要去适应经常变更。 不过,C++仍然存在一些固有的问题,主要是其复杂性和用户对于如何很好地使用它(例如,有或无例外处理)的意见中的碎片化。 我个人觉得"batteriesincluded"的概念,可从Python获得很丰富的存储库与语言,但我相信有些人不一定同意我这一点。

 

每当我看到新的编程语言开发,新的想法进行测试时感觉很兴奋。 在我看来,在不需到ISO标准的情况下对他们有益。 另一方面,他们也许会受到某家公司的控制。 不管怎样,我希望能尽快见证C++的接班者。

 

LiveVideoStack:在此之前你有大量的时间专注在Giga(一种新的基于UDP的专有传输协议)上,我们知道QUIC也是基于UDP的低时延的互联网传输层协议,是什么原因让你放弃Giga转而从事QUIC方面的工作?

 

Martin Horčička:: Giga是我们首次进入基于 UDP 的传输协议领域的产品。 我们更希望用FEC取代常用的基于重新传输的数据包丢失恢复机制。 渐渐地,我们逐渐认识到FEC本身并不是一个解决方案,生产环境中的网络有许多难题,我们需要在传输协议研发方面做出更仔细的推进。 在这个项目里,我们领悟了很多珍贵的经验。

 

后来,Akamai 收购了一家丹麦公司Octoshape,他们是提供视频流加速解决方案的。 与他们合作后,他们带来了另一个 UDP 的协议,更加有意思的传输和应用程序层融合。 它为我们公司引入了一些传输层决策中对播放的视频比特率的感知能力。 当Google宣布有意在IETF下对QUIC进行标准化时,我们正在考虑如何合并我们两个基于UDP的协议。 此协作机会将使得我们的优化从专有领域转移到未来的标准。 因此,我们把重点转移到QUIC上,并逐渐终止了旧协议。


LiveVideoStack:基于UDP的QUIC常用来和基于TCP的SPDY比较,这些协议和技术都是为解决数据传输问题而存在,你如何看待网络上QUIC终将替代TCP的说法? QUIC与TPC在你看来更像是一种什么关系?

 

MartinHorčička: 尽管 SPDY 演变为HTTP/2,被视为 HTTP/1.1 的后继者,但我们不能说它取代了 HTTP/1.1。 考虑到TCP比HTTP更普遍。 众所周知,TCP在大多数条件下工作出色,得到广泛支持,运行效率也很高。 QUIC 最初旨在作为一个实验平台,从该平台将最成功的功能集成到主流协议中。 例如,我们可以看到 QUIC 加密如何通过0-RTT 连接启发 TLS 1.3。 我相信,这种趋势将继续以某种形式,当然TCP将继续缓慢演进,也会从QUIC实验结果中受益。

 

LiveVideoStack:QUIC协议相较于TCP协议有诸多优点,例如效率高,速度快,占资源少,在QUIC实现时还有哪些需要优化的地方?


Martin Horčička: 根据我们的统计数据,QUIC 在某些情况下比TCP 表现更好,而在另一些情况下,QUIC 的表现未必胜出。 到目前为止,QUIC 需要的资源(尤其是CPU)明显多于 TCP 。 从CDN的角度来看,我们更考虑实用性,使用QUIC时当它可以带来显然的利益,不然的话采用TCP。 我相信进一步的改进和优化将逐渐减少 QUIC 的资源使用,一定可以增加QUIC的使用场景,但我认为TCP一定会存在。

 

从优化的方向上,我应该强调在OS内核中,网卡中支持UDP,支持QUIC实施。 我们非常需要定案QUIC规范,以至于可以更加集中在某些具体目标。

————————————————

版权声明:本文为CSDN博主「LiveVideoStack_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/103209457


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

阿里云视频云@凡科快图.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
最新编程语言排名,Java 沦为老三。。
2021 年 9 月刚过去,栈长看了下最新的 tiobe 编程语言榜:
41 0
C语言单纯的模拟麻将胡牌算法!简单分析,不喜莫入
C语言单纯的模拟麻将胡牌算法!简单分析,不喜莫入
1812 0
Java并发编程-读写锁(ReentrantReadWriteLock)
章节目录 ReentrantReadWriteLock 特性 读写锁接口示例 读写锁的实现分析 读写状态设计 写锁的释放与获取 读锁的释放与获取 锁降级 1. ReentrantReadWriteLock 特性 1.1 读写锁定义 读写锁维护了一对锁,一个读锁,一个写锁,通过分离读锁写锁,使得并发性相比一般的排他锁有了很大提升。
1976 0
JDK1.7新特性(4):java语言动态性之反射API
直接通过一个代码示例来熟悉java中通过反射来对构造函数/域以及方法处理的相关API: 1 package com.rampage.jdk7.chapter2; 2 3 import java.
643 0
MHA 自动故障转移步骤及过程剖析
    MHA是众多使用MySQL数据库企业高可用的不二选择,它简单易用,功能强大,实现了基于MySQL replication架构的自动主从故障转移,本文主要描述了MHA自动切换的步骤,对切换过程做了演示以及进行了适当的分析,供大家参考和理解MHA以及MySQL的原理。
1040 0
Mysql C语言API编程入门讲解
原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程。  API,全称Application Programming Interfaces,即应用程序编程接口,我们可以调用这些接口,执行API函数提供的功能。
1390 0
Wireshark+Apache2.4解密SSLv3
首先说明一下,国内的网上很多资料没提到这点:Wireshark不能解密应用了DH(Diffie–Hellman)秘钥的SSL密文。 (TLS也是可以解密的,要从第一次握手该host开始全部的包都截到才行) 因为这个原因,就需要好好配置apache了。
1259 0
257
文章
2
问答
来源圈子
更多
+ 订阅
相关文档: 云会议 智能视觉 音视频通信
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载