曾经人们认为Web应用服务器将会让我们忘记如何编写HTTP或者RPC服务器。不幸的是,这个白日梦并没有持续多久。我们正在处理的负载量以及功能变化的速度一直在不断地增加,超出了传统的三层体系结构的承受能力,我们正被迫将应用程序切分成很多块,并分发到更大的机器集群中。
运行一个如此庞大的分布式系统引发了两个有趣的问题:运行成本和延迟。如果我们将单个节点的性能提高30%,或者甚至超过100%,那么我们可以节省多少台机器呢?当一个来自Web浏览器的查询触发了几十个跨越了很多不同机器的内部远程过程调用时,我们如何能达到最低的延迟呢?
在本书(第一本关于Netty项目的书)中,Norman Maurer(Netty的核心贡献者之一)通过展示如何使用Netty构建高性能、低延迟的网络应用程序,给出了这些问题的最终答案。读完这本书,你就能够构建所有可能的网络应用程序了,从轻量级的HTTP服务器到高度定制化的RPC服务器。
本书之所以能令人印象深刻,一方面是因为它是由知晓Netty每个细节的核心贡献者编写的,另一方面是因为它包含了几家在其生产系统中使用了Netty的公司(Twitter、Facebook和Firebase等)的案例研究。我相信,通过展示这些使用它们的公司是如何能够释放他们基于Netty的应用程序的能力的,这些案例研究将会启迪你。
你可能会惊奇地发现,早在2001年,Netty只是我的个人项目,当时我是一名本科生(http://t.motd.kr/ko/archives/1930),而今天这个项目仍然还在并且还充满了活力,感谢像Norman这样的热心的贡献者们,他们花了许多个不眠之夜来致力于该项目(http://netty.io/community.html)。我希望通过鼓励本书的读者来贡献项目,开启该项目的另一个篇章,继续“开启网络编程的未来”。
Trustin Lee
Netty项目创始人