《同程技术故事》以主人公小白入职同程旅游开始,介绍了同程旅游技术发展的心路历程。小白在同程旅游担任数据库管理员和运维人员,是同程旅游创业初期吃苦耐劳的研发人的典范,也算是见证了同程旅游研发的发展历程。同程旅游从一开始简陋的基础设施,发展到如今的各种监控系统、中间件的锋芒崭露,在此期间小白自身也成长颇丰。本书全方位地为读者讲述了一名同程旅游研发人员如何一步步地从0转变到1的技术故事。
本书总计有6章,前3章讲述了同程旅游的历史、业务及每年国庆期间面临的种种考验,这些都是同程旅游研发的往事;后3章则介绍了如今同程旅游研发中的中间件团队、运维团队及安全团队。
本书适合对互联网技术、大并发、大数据等感兴趣的人群阅读,能够帮助初创或成长型公司的技术开发者选择正确的技术道路,避免再踩同程旅游所经历过的技术方面的老坑。本书还介绍了在线旅游行业的业务特性,所以也非常适合非技术开发方向的旅游行业从业者阅读。
可让技术人产生很多共鸣,在不经意间为你答疑解惑,让你不由自主拍腿叫好
自序
同程旅游的技术研发从最早的ASP发展到现在各种技术的百家争鸣,历经十几年。虽然同程旅游的技术一直在革新,但是同程旅游的研发人对技术的热情从未消退。同程旅游以拥抱变化作为公司的核心价值观之一,同程旅游的研发人无时无刻不在改变着自己和学习新技术,他们大胆地将业界新的互联网技术引入同程旅游的技术体系,不仅在开发效率上比以往更高,而且给公司节约了大量的硬件成本和维护成本。
本书解读了同程旅游从技术发展伊始至今的技术故事,其发展过程也并非一帆风顺。同程旅游的研发人虽然踩过坑、走过弯路,但最终还是凭借着坚韧的拼搏精神,克服了一个个艰难险阻,完成了自身和公司的双飞跃。
随着同程旅游的飞速发展,同程旅游的研发人也将要面临更大的压力和挑战,我在这里衷心地希望,所有同程旅游的研发人能再接再厉,让研发成为同程旅游发展壮大的基石!相信
同程旅游有了这样一群热爱技术、富有激情的研发人,明天必将腾飞!
张海龙Ben
2016年10月于姑苏城
前言
作为近几年才入职同程旅游的新研发人,笔者确实看到了同程旅游这些年来在技术上突飞猛进,并朝着一线互联网公司不停地追赶。记得几年前参加大型技术峰会的时候,经常有人把同程旅游误以为“58同程”,甚至有人认为同程旅游是做棋牌游戏的。不过同程旅游在近几年来飞速发展,在OTA行业内的影响力也逐渐提升;另外,随着同程旅游研发技术的高速冲刺和胖波(王晓波)在大型技术峰会上的多次亮相,越来越多的人开始了解和认可同程旅游了。
笔者目前在同程旅游研发中心负责各种云服务的开发,这里的云服务类似于阿里云,不过笔者所在团队的产品是面向同程旅游内部的私有云服务,在本书中提到的各种中间件和云服务都是我们团队开发的。同程旅游大量使用了OpenResty方案,现在你打开www.ly.com首页和大部分页面,都可以看到响应头里包括OpenResty的标识。在同程旅游研发、编写和发布Web服务会让人觉得很幸福,因为同程旅游会提供一个云MVC集成环境,可以直接在其中进行开发、断点调试和一键发布,无须以传统方式进行本地开发和部署上线。各业务的线上系统还可以方便地接入各种在线云服务,例如云防护、云缓存、云数据源、云日志等。
同程旅游内部的各个研发系统都已经微服务化,微服务的理念已经深入到每个研发人员的心中,这对于整个同程旅游内部的服务治理是相当重要的。前几年,随着同程旅游研发团队的不断壮大,各种语言编写的各类服务都出现在了同程旅游的业务系统中,在对这些服务进行治理时,老的SOA框架显然已经力不从心了,借助于同程旅游新的微服务框架,各个系统之间的跨语言调用就不成问题了。对各种微服务的治理,能大大提升研发的工作效率,让各个系统之间不至于出现蜘蛛网式的错综复杂的调用关系。
同程旅游研发的运维系统也在近几年有了革命性的变化,原来全部是物理机,现在是拥有KVM、OpenStack、Docker等的混合私有云;数据库也从以前的SQL Server转变为多种DB共存,目前MySQL和MongoDB集群也有了相当大的规模,还有部分PostgreSQL、Greenplum和HBase等,当然,这对数据库管理员的要求也更高了。
感谢所有为本书提供内容的同程旅游的研发人,你们是无私的贡献者,同程旅游今天的成就和未来的发展全靠大家的努力。希望同程旅游越办越好,希望同程旅游的研发人越来越棒!
吴中骅
2016年10月