前言
如今,随着计算机技术的飞速发展,层出不穷的新技术推动了生产力的发展和整个社会的进步。软件架构从单一架构到分布式架构,从SOA架构到微服务架构,再到服务网格。数据库已经从Oracle流行到MySQL,再到内存数据库和NoSQL数据库。集装箱调度技术从Mesos、Swarm、Kubernetes发展到Kubernetes。”如果一个工人想做好事,他必须先磨他的工具.”在互联网变革的浪潮中,我们需要在思想、方法和技术上进行全面的变革。互联网架构的高可靠性、高并发性、高扩展性和低耦合性,共同为互联网应用创造了无限可能。
微服务的核心思想是将整个系统划分为几个独立的服务,每个模块都可以独立开发、测试、部署、运行和操作。这种低耦合、高内聚的灵活特性正是所有架构师所期望的。因此,微服务架构在短时间内受到了大型互联网公司的青睐,成为构建复杂互联网应用的利器。Kubernetes作为目前主流的集装箱调度平台,已经从一个甜美的海燕之物逐渐发展成为影响全球IT技术的基础设施平台,也推动了微服务架构、云原生应用、服务网格等热门技术的普及和落地。
本文内容循序渐进,概念清晰明了,由浅入深,由易到难,为读者呈现了一幅包括微服务、容器化和技术实践的全景图。
本文结合作者在企业推广和实施微服务的经验,不仅有完整的理论框架,还包含典型的实践案例。
目前,大数据、云计算、物联网、人工智能、区块链等技术遍地开花。有了5G技术的翅膀,我们一定能一飞冲天!
本文将分为三个部分:目录、主要内容和亮鹅对本文的高度评价。因为内容很多,边肖只能给大家介绍一些知识点和目录。希望你能理解!
本文目录
本文包括的主要内容
微服务和Docker容器技术是目前分布式架构中常用的主流技术。结合Kubernetes强大的容器服务调度和调度能力,中小企业可以简单快速地构建自己的分布式互联网架构系统。
结合实际生产项目架构重构的过程和经验,详细介绍了微服务容器化从单一架构向分布式架构过渡的各个方面,包括微服务开发和运维技术栈的选择、Spring Cloud微服务开发、Rancher和Kubernetes生产的离线环境下的安装部署、微服务的容器化和服务安排、日志调用链的收集和显示、基于Prometheus的系统监控、微服务的持续集成。
基于Spring Boot、Spring Cloud、Docker、Rancher、Kubernetes等技术,主要提供从设计、开发、部署到运维的微服务容器化生产环境整体解决方案。
第一章单体架构和微服务架构;
本章以一个电商订单系统为切入点,首先介绍了系统的相关背景,然后简单介绍了单架构和微服务架构的特点和优缺点,接着介绍了微服务的设计原则和拆分原则,最后介绍了微服务的开发原则。作为一种新的软件架构模型,微服务架构有其特定的设计原则和拆分原则。
第二章:Spring Boot微服务发展;
本章主要介绍微服务的概念、框架、开发、封装和测试。首先,详细介绍了Dubbo服务框架和Spring Cloud微服务框架,并详细介绍和比较了两种框架的概念、特点和技术栈。然后,给出了微服务开发和运行的技术栈全景图,以及与mic相关的主要技术
本章主要介绍微服务的三种常用环境,包括开发环境、测试环境和生产环境。对应于Spring Boot的配置文件分为开发、测试和生产。它们之间的主要区别是第三方服务的IP地址、数据库地址、中间件地址和日志配置。
class=”pgc-img-caption”>
第4章Rancher和Kubernetes离线部署;
本章主要介绍了微服务运行环境的安装文件如何下载,以及微服务运行环境Docker、Kubernetes和 Rancher的离线安装。因为Docker和镜像仓库Harbor涉及CA证书,所以本章还介绍了CA证书的创建生成过程。
Docker离线安装使用yum localinstall 命令安装两个rpm安装包。Harbor作为流行的容器私有镜像仓库,其基于Docker Compose的安装方式简单、快捷,另外,安装Harbor需要配置前面生成的CA证书。Harbor 安装完成后,可以进行 Docker 的登录操作,以便于后续镜像的推送和拉取操作。
Rancher和 Kubernetes的安装部署过程如下:首先,安装Rancher平台,该平台用于Kubernetes集群的管理;其次,使用Rancher平台创建和安装 Kubernetes集群,使添加Kubernetes集群的Control、etcd 和 Worker节点变得轻松、简单。经过本章的微服务运行环境的安装部署,可以得到一个基于Kubernetes和 Rancher的容器化运行集群。
第5章日志采集;
本章介绍了微服务系统整体端到端的日志采集,包括日志输出、日志采集、日志收集与处理、日志存储和日志展示等环节。首先介绍了基于Filebeat和ELK的日志采集模型,充分利用Elasticsearch 的全文检索能力以及Kibana丰富的图形化展示能力。其次介绍了微服务基于Spring Boot的日志输出配置,配置分为开发环境、测试环境和生产环境。最后按照日志采集模型,分别介绍了日志采集、日志汇集与日志展示。
日志采集首先是容器的日志目录挂载,然后使用Filebeat进行日志采集工作。日志汇集就是日志经过Filebeat采集后,输出到Logstash组件集中进行日志格式的转换,然后汇集到Elasticsearch组件和磁盘日志文件中。日志汇聚存储在磁盘文件中,供开发人员和维护人员使用Shell脚本查看日志。日志汇集存储在Elasticsearch组件中,供Kibana进行图形化查询和展示,可以绘制组合出丰富的图表和仪表板。
第6章调用链跟踪;
本章首先介绍了调用链追踪的概念,阐述了服务调用的Trace和 Span 的内涵。然后介绍了Spring Cloud调用链跟踪模型中的Sleuth组件和Zipkin组件,同时介绍了SpringCloud调用链跟踪模型。
最后介绍了Sleuth+Zipkin调用链追踪技术,在开发环境、测试环境和生产环境中的配置,以及调用链数据存储在Elasticsearch组件中,同时介绍了如何在Zipkin和Kibana中图形化展示与检索调用链信息。
第7章熔断器;
本章首先介绍了微服务中熔断器的概念,然后介绍了Spring Cloud中熔断器Hystrix的特点。最后介绍了熔断器相关的Maven依赖配置、熔断器的使用代码编写和熔断器的图形化展示与监控。
第8章容器化与服务编排;
本章介绍了容器化、虚拟机及服务编排等内容,重点介绍了生产环境中应用镜像的构建过程。镜像包括母镜像、基础镜像和应用镜像,同时介绍了应用镜像的基础构建方法。
服务编排方面主要介绍了基于Rancher 的Kubernetes容器服务编排平台,结合生成实践介绍如何使用Rancher进行微服务的创建、升级,以及目录挂载如何操作、环境变量如何配置等。最后结合生产项目中使用Nginx做其他微服务的负载均衡的工作负载,介绍了如何创建Config Map,以及如何使用Config Map等。
第9章系统监控;
本章首先对系统监控进行了概述,包括主机监控、安全监控、中间件监控、业务监控、容器监控等。然后介绍了Kubernetes集群常用的监控方案,通常选择基于Node Exporter、Prometheus 和 Grafana的监控体系。
接下来依次对Node Exporter、Prometheus和 Grafana组件的部署文件进行了说明,最后结合Grafana组件的图形化仪表板介绍了Grafana 组件功能强大、类型丰富的图形化展示能力。
第10章持续集成部署;
本章简单介绍了持续集成和持续部署的概念,以及持续集成部署的模型,重点介绍了基于Kubernetes容器化平台、Rancher容器编排平台,以及Jenkins流水线的CICD的生产实践。
这份【微服务容器化开发实战】文档共有238页,需要完整版的小伙伴,可以转发此文关注小编,私信小编【技能】来获取!!!