1. 前言
2010年,我给我行新核心项目研发了核心后台应用服务平台,采用了定制通讯协议,几年使用下来无论与第三方业务系统(大多数是JAVA体系)对接、还是协议效率等方面都感受不好,趁着今年发起研发新一代核心后台应用服务平台契机,重新审视通讯协议的设计,最终选择了HTTP/1.1。
于是我花时间研发了高性能HTTP解析器fasterhttp,在编写示例时想,既然有了HTTP解析器为何不研发一个静态页面Web服务器呢?于是结合文件系统主动通知机制inotify研发了htmlserver,改善了传统的被动轮询更新的缓存设计,性能比号称世界最快的Nginx还要快好几倍,我备受鼓舞。
htmlserver发布后受到了广大网友的巨大反响,除了攻击名字幼稚、版本号和认为我压测数据作弊的喷子外,还是有不少网友提出了中肯的意见和建议,当然避免不了和Nginx的功能比较,于是,原只是支持静态页面的研发目标又一次“被逼”扩展为还要支持动态页面、反向代理负载均衡。(好深的坑啊)
原名字已不适合,于是我重新创建了一个项目hetao,hetao v0.1.0从htmlserver v1.0.0移过来继续研发。
故事还在继续…
题外话,我原以为阿里这么强大的研发能力完全应该自研Web Server,因为只有自研才符合大公司的定制之道,遗憾的是Tengine竟然是基于Nginx改造的,不管怎么样,hetao是我一个人利用工作之余完全自研(基本功能在3个月内完成),不知阿里常年996的Tengine团队看到了有何作想,同时也佐证了传统银行IT人员能力并没有互联网公司想象的那么弱,只不过银行一般都比较低调罢了,要知道互联网大厂往往是一个团队负责一个技术产品,而有自研能力的银行往往是一个人负责n个技术产品,个人能力和投入产出比高下立判。经常大厂来交流,大厂技术负责人很自豪的宣传自家技术产品,完全不屑银行方技术,我在台下暗暗笑,其实你们的设计我们早已实现,而且做得比你们更好,比如我行的联机交易平台上更新应用无须重启平台,我看到某大厂大谈特谈负载均衡和Tomcat滚动升级方案的优越性就感觉麻烦的不要不要的,我们没有发言机会,安全部门和监管机构禁止我们对外宣传,我之前写的日终批量交易平台设计和实践文章一发布就被安全部门约谈要求撤回,这就给业界造成假象普遍认为银行科技没有技术研发能力 ^_^