郁磊,阿里巴巴基础软件事业部 JVM 团队成员,负责 Alibaba JDK 上协程功能的设计与实现。
2014 年毕业后加入阿里巴巴工作至今。期间涉及过 OpenJDK 研发、压测平台、运维等工作。
热衷于 JVM 实现、中间件、系统性能优化。
在分布式应,海量机器的背景下,写出高效的 WebServer 是巨大的技术挑战。nginx、memcached 等高效的服务器使用了高效的线程模型,通过异步编程结合少量线程来服务海量用户,获得了相比同步模型更高的性能,更快的响应时间,更低的机器成本。
主流的 Java Web 容器给了我们一个可以独占整个线程的编程环境,操作系统消耗大量计算资源在线程调度上。现有的 Java 程序业务复杂、框架众多,用异步改写需要巨大的代价。Alibaba JDK 使用协程作为异步 IO 的抽象机制,使得现有基于独占线程模型的代码透明的跑在事件驱动模型上,获得性能提升。
我将和大家分享事件驱动、异步、协程间的关系、实现原理;如何通过 JVM 改动零感知地让应用转换到异步模型。并结合阿里巴巴的海量电商、中间件应用场景分析异步的效果。
How is your talk relevant to the attendees? What you want them to learn and apply to their work?
Java 语言配合 Servlet 标准是目前大部分 Web 应用的运行环境,几乎所有服务端软件工程师都接触过。工程师们有必要知道他们的代码所在的运行环境,以及这套运行环境在线程模型上可以进行的改进。
这个 Talk 将帮助大家学到 WebServer 线程模型的相关知识,了解 Alibaba Jdk 的协程特性及相关场景。有助于帮助大家在工作中写出更高效的程序,并在系统设计中考虑线程模型开销和协程这样的语言特性。