微服务容器化开发实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

微服务的概念最早是在2011年5月的软件架构会议上提出的,Martin Fowler于2014年全面阐释了微服务架构。Docker作为一种容器化技术诞生于2013年的开源项目,如今,Docker已经成为容器技术领域的领头羊。Kubernetes这个名字起源于古希腊,是舵手、罗盘的意思。Google于2014年6月推出Kubernetes(Borg 的开源版本),并于2015年7月推出Kubernetes v1.0版本。微服务、Docker和Kubernetes涵盖了系统开发、运行环境与编排调度技术,是目前分布式系统架构中主流的技术栈。

为什么写本书

如今,无论是开发人员、运维人员还是技术管理者,言系统架构必谈微服务和容器化,必谈分布式和互联网架构。但是对于大多数IT从业者来说,微服务、容器化、Kubernetes等涉及很多新技术,如果完全摸索着去学习,无形中会增加学习时间,并延长系统的新架构改造周期,而且其他人遇到的问题还要重新解决。

笔者也曾遇到相同的问题,微服务、容器化和Kubernetes相关技术栈过于庞大,在自行摸索过程中,由于主机环境、软件版本、参数配置、网络模式等存在一定的差异,所以其他人分享的经验无法复用。笔者在进行订单系统进行微服务、容器化的新架构开发和升级过程中,总结和提炼了一些经验与注意事项,将这些内容加以整理并固化形成本书,希望对读者的实践有所帮助。

对于微服务开发工程师、容器化和Kubernetes运维工程师、系统架构师、技术管理者等来说,本书不但能够引导他们少走弯路,而且能够给予他们系统架构、技术栈选型等方面的参考。阅读本书,读者能够使单体架构的系统简单快捷地进行微服务容器化的架构升级,从而使新项目能够基于微服务容器化的新架构迅速地开发、部署和运维。

本书主要内容

本书共包括10章,以微服务、容器化、Kubernetes、Rancher等的概念、解决方案及生产实践操作为基础和主线,进行了易于理解和上手操作的讲解。

第1章至第3章主要围绕微服务开发展开:从单体架构和微服务架构的特点、两者之间的差异开始,介绍了如何拆分微服务;然后介绍微服务开发的技术框架选型,以及微服务开发中的代码编写;最后介绍了微服务运行的3种运行环境,以及每种运行环境如何配置参数等。

第4章主要围绕微服务的容器化部署和生产展开:详细介绍在离线的生产环境内网中,如何快速、便捷地部署和管理Kubernetes集群,如何创建安全的数字证书,以及如何创建私有镜像仓库等。

第5章至第7章主要围绕微服务间的调用展开:首先介绍了基于ELK组件的日志采集模型及其在生产中的应用;然后介绍了微服务间调用链的概念、调用链模型及调用链的动态跟踪;最后介绍了服务间调用的熔断器,为服务调用提供一种稳定、可靠的容错和自保护机制。

第8章主要围绕微服务到容器化的生产构建展开:从精简、安全、标准化的基础镜像构建到业务镜像构建,再到生产环境中服务编排及特定服务涉及的目录挂载、环境变量设置等。

第9章和第10章主要围绕系统监控、持续集成部署展开:介绍了系统监控的类型、范围,以及Exporter + Prometheus + Grafana的监控模型体系。系统持续集成部署部分涉及基于Jenkins的自动编译、打包、部署的概念和生产实践。

致谢

首先要感谢我的家人给予我的理解和坚定支持。特别感谢我的妻子,她的理解、包容和支持使我能够全身心投入书稿的编写工作。

同时,衷心感谢电子工业出版社博文视点的宋亚东为我耐心讲解书籍出版要求以及书稿编写的注意事项,并且基于作者的角度提供了诸多帮助,尽量减轻作者工作量。他工作严谨,技术理解深刻,对书稿质量把控严格,还多次邀请专家对本书提出有益意见,对本书的修改和完善起到了重要作用。

由于作者水平有限,书中难免存在不足之处,敬请广大读者批评指正。

尹为强

img

读者服务

微信扫码回复:38292

●获取博文视点学院20元付费内容抵扣券;

●获取免费增值资源;

●加入读者交流群,与更多读者互动;

●获取精选书单推荐。

轻松注册成为博文视点社区(www.broadview.com.cn)用户,您对书中内容的修改意见可在本书页面的“提交勘误”处提交,若被采纳,将获赠博文视点社区积分。在您购买电子书时,积分可用来抵扣相应金额。