《同程技术故事》以主人公小白入职同程旅游开始,介绍了同程旅游技术发展的心路历程。小白在同程旅游担任数据库管理员和运维人员,是同程旅游创业初期吃苦耐劳的研发人的典范,也算是见证了同程旅游研发的发展历程。同程旅游从一开始简陋的基础设施,发展到如今的各种监控系统、中间件的锋芒崭露,在此期间小白自身也成长颇丰。《同程技术故事》全方位地为读者讲述了一名同程旅游研发人员如何一步步地从0转变到1的技术故事。
《同程技术故事》总计有6章,前3章讲述了同程旅游的历史、业务及每年国庆期间面临的种种考验,这些都是同程旅游研发的往事;后3章则介绍了如今同程旅游研发中的中间件团队、运维团队及安全团队。
《同程技术故事》适合对互联网技术、大并发、大数据等感兴趣的人群阅读,能够帮助初创或成长型公司的技术开发者选择正确的技术道路,避免再踩同程旅游所经历过的技术方面的老坑。本书还介绍了在线旅游行业的业务特性,所以也非常适合非技术开发方向的旅游行业从业者阅读。
这是一本很有趣的技术故事书,我看了不下十遍,仍然被其中的故事和技术迭代深深吸引。
这更是一本为人解惑的技术指导书,其中贯穿了很多技术上的坑、教训和经验总结,十分难得。
这是一本可反映技术发展趋势的书,各种新技术、新方案在其中大多有所体现,并第一时间为你展现实践后的效果。
本书很棒,语言很有趣,故事也很吸引人,编辑力荐!
作为近几年才入职同程旅游的新研发人,笔者确实看到了同程旅游这些年来在技术上突飞猛进,并朝着一线互联网公司不停地追赶。记得几年前参加大型技术峰会的时候,经常有人把同程旅游误以为“58同程”,甚至有人认为同程旅游是做棋牌游戏的。不过同程旅游在近几年来飞速发展,在OTA行业内的影响力也逐渐提升;另外,随着同程旅游研发技术的高速冲刺和胖波(王晓波)在大型技术峰会上的多次亮相,越来越多的人开始了解和认可同程旅游了。
笔者目前在同程旅游研发中心负责各种云服务的开发,这里的云服务类似于阿里云,不过笔者所在团队的产品是面向同程旅游内部的私有云服务,在本书中提到的各种中间件和云服务都是我们团队开发的。同程旅游大量使用了OpenResty方案,现在你打开www.ly首页和大部分页面,都可以看到响应头里包括OpenResty的标识。在同程旅游研发、编写和发布Web服务会让人觉得很幸福,因为同程旅游会提供一个云MVC集成环境,可以直接在其中进行开发、断点调试和一键发布,无须以传统方式进行本地开发和部署上线。各业务的线上系统还可以方便地接入各种在线云服务,例如云防护、云缓存、云数据源、云日志等。
同程旅游内部的各个研发系统都已经微服务化,微服务的理念已经深入到每个研发人员的心中,这对于整个同程旅游内部的服务治理是相当重要的。前几年,随着同程旅游研发团队的不断壮大,各种语言编写的各类服务都出现在了同程旅游的业务系统中,在对这些服务进行治理时,老的SOA框架显然已经力不从心了,借助于同程旅游新的微服务框架,各个系统之间的跨语言调用就不成问题了。对各种微服务的治理,能大大提升研发的工作效率,让各个系统之间不至于出现蜘蛛网式的错综复杂的调用关系。
同程旅游研发的运维系统也在近几年有了革命性的变化,原来全部是物理机,现在是拥有KVM、OpenStack、Docker等的混合私有云;数据库也从以前的SQLServer转变为多种DB共存,目前MySQL和MongoDB集群也有了相当大的规模,还有部分PostgreSQL、Greenplum和HBase等,当然,这对数据库管理员的要求也更高了。
感谢所有为本书提供内容的同程旅游的研发人,你们是无私的贡献者,同程旅游今天的成就和未来的发展全靠大家的努力。希望同程旅游越办越好,希望同程旅游的研发人越来越棒!
吴中骅
2016年10月
张海龙,同程旅游联合创始人,现任同程网CTO。
王晓波,同程旅游首席架构师,专注于高并发互联网架构设计、大数据分析平台设计。
吴中骅,同程旅游资深高级架构师,《Node.js实战(双色)》及《Node.js实战(第2季)》作者。
刘新高,同程旅游资深高级架构师,专注于自动化运维和APM研究。
第1章小白入职
1.1 第一行代码
1.2 不断前行
1.3 不平凡的大年初一
第2章一个可以旅游的网站
2.1 不仅仅是电商
2.2 旅游网站也不轻松
第3章决战国庆之巅
3.1 人山人海
3.2 海量订单
3.3 大禹治水
3.4 坚如磐石
第4章分布式中间件
4.1 一个特别的负载
4.2 缓存之凤凰涅槃
4.3 错综复杂的数据库
4.4 可治理的服务
第5章运维的苦海
5.1 每天背个锅
5.2 一场革命
5.3 运维大数据
第6章黑洞
6.1 安全的挑战
6.2 成长中的安全团队