从事软件研发工作等于选择了终身困惑,想要驾驭好这份工作等于步入了终身学习的道路。技术在不断革新,知识在持续爆炸,拓展认知边界和选定赛道似乎成为技术工作者的必备技能。
本书从第1版到第2版,持续在微服务领域帮助和指导我,希望也能帮到你。
2014年3月,James Lewis 和 Martin Fowler 发表了一篇名为“Microservices”的文章,正式提出了微服务的概念。而我写下这段文字正值2024年元旦,蓦然回首已近10年。当时我刚加入 Thoughtworks,有幸参加了公司内部有关微服务理念的分享会。随着分享的深入,我对于微服务理念的认同感越来越强——原来,我在既往架构设计过程中许多一闪而逝的思考碎片,许多不敢实践的想法,许多左右摇摆、不甘舍弃的答案 B 才是更优的选择。就是从这次分享会开始,我坚定不移地开启了自己的微服务实践之旅。
10年来,我积累了丰富的微服务项目经验:客户来自各行各业,面临的挑战千奇百怪,但存在的问题都很相似——其中微服务数量过多、依赖过于复杂是最典型的问题,由此也带来了很多负面影响,比如监控难度剧增、基础设施维护成本高昂、构建和集成复杂等。10年前,大家最关注的是如何构建微服务;当前,大家最关注的是如何解决应用微服务过程中带来的各种问题。2015年 Sam Newman 出版的《微服务设计》很大程度上可以帮助大家解决第一个问题;2021年全面更新推出的《微服务设计(第2版)》很大程度上可以帮助大家同时解决第一个和第二个问题。
第2版在内容的广度和深度上都远远超过了第1版,单从原版页数由278页变成了612页便可见一斑。在从微服务设计到演进的路上,Sam 是极少能做到知行合一的人。他将微服务的设计原则、理念与优秀的实践案例结合,从微服务的核心思想、建模、构建、扩展、测试、组织等方方面面展开论述,勾勒了一幅微服务全景图。同时,Sam 也把局部的实践、思考和各种经典方法的应用讲得深入浅出。我在翻译过程中闪现了不少顿悟时刻,再将书中的内容与自己的认知和实践相结合,这个过程让我受益匪浅。
翻译工作完成后,我们发现中文版的字数竟然超过了35万字,可以想象这样的工作如果由一个人承担会有多难。好在工作上的好伙伴张沙沙和智伟参与进来,我们共同完成了全书的翻译。在此期间,图灵的编辑团队给予了非常多的支持、理解和专业的指导,甚至还邀请了业界20多位审读专家针对译文提出反馈,进一步提升了内容品质,确保了中文版更加符合国内读者的阅读习惯。本书的每个字都离不开大家的心血,在此统一表示感谢!
另外,请允许我在此表达一下对妻子和女儿的感激之情——不到4岁的女儿在睡前会例行问一句:“爸爸,我乖乖睡就是支持你吗?”而妻子总是说:“咱女儿好带,我自己可以,你安心翻译。”是她们的鼓励、陪伴和帮助,让我在每一个翻译和校对的凌晨,还有动力花几秒钟的时间毫不犹豫地删掉苦熬许久“祭出”的译文,再搜肠刮肚、绞尽脑汁地花数十分钟的时间“死磕”一个句子。
虽说为翻译付出了大量心血,但限于译者水平,译文难免存在不尽如人意之处。本书最亲爱的读者们,如果你在阅读过程中有任何意见或者建议,欢迎随时提出。请大家前往图灵社区本书主页( https://www.ituring.com.cn/book/2642 )评论区留言或者勘误区提交修改意见,你的阅读与喜爱是我们不断提升本书品质的动力。
钟健鑫
很荣幸能参与《微服务设计(第2版)》的翻译工作。从曾经的颠覆性挑战,发展到如今成为行业内的常态,微服务架构的热度从未减退。在亲身经历微服务架构设计与开发的这几年里,我愈发感受到,技术选择往往是在成本和价值之间寻求平衡,没有简单的对错之分。我希望本书能为你在技术选择上提供更多的视角和参考,助你找到自己的平衡点。
在翻译的过程中,我深受启发。尽管我们身处 AI 技术高速发展的时代,但我依然深深地被图书出版过程中的匠心精神所打动。这让我坚信,精益求精是人类的永恒追求,人类的创造力和洞察力是 AI 目前无法替代的。
最后,我要感谢这次的翻译机会,以及在整个过程中与我合作的每一位同仁。这是一段弥足珍贵的经历,我会永远铭记。
张沙沙
在过去若干年从事软件开发和企业架构相关工作的经历中,我见到和听到了太多关于微服务的不同角度、褒贬不一的观点。我对于这些观点的思考可以总结为:微服务确实提供了一系列在复杂业务系统开发过程中非常有帮助的架构原则和实践指导;然而现实中,搞清楚我们所真正面临的问题往往才是成功的最大挑战——在清晰和准确的问题域下,微服务才能发挥其作用。
非常感谢 Sam Newman 极其细致和完备地组织和总结了关于微服务的诸多方面,本书完全可以作为微服务实践路上陪伴大家应对各种难题的工具书。
此外,我也想向编辑伙伴和审读老师表达感谢和钦佩。没有你们细致和耐心的指导和陪伴,我无法完成如此繁杂的翻译工作。
智伟