微服务和Docker容器技术是目前分布式架构中常用的主流技术,结合Kubemetes强大的容器服务编排与调度能力,中小企业能够简单快速地构建自己的分布式互联网架构系统。本篇文章结合实际生产项目的架构重构过程和经验,详细介绍从单体架构过渡到微服务容器化的分布式架构的各方面,主要包括**微服务开发和运维技术梭的选型、Spring Cloud微服务开发、Rancher和Kubemetes生产离线环境下的安装与部署、微服务的容器化与服务编排、日志调用链的采集和展示、基于 Prometheu 系统监控,以及微服务的持续集成等要点。**基于Spring Boot、Spring Cloud、Docker、Racher、Kubemetes等技术主要提供从设计、开发、部署到运维的微服务容器化的生产环境整体解决方案。
每章都结合实际生产项目进行讲解,特别适合将Spring Cloud、Docker和Kubemetes等技术应用到生产中的技术管理人员、架构师与开发人员学习,也适合微服务、容器化的入门程序员学习,还可以作为微服务、容器化的运维人员,以及对相关技术感兴趣的人员的参考。
基于Docker+Kubernetes,微服务容器化开发实战
由于文章篇幅问题,需要完整PDF文档的小伙伴,可以前往共重号:爱穿格子衫的程序猿 即可获取
由量变到质变 从单体架构向微服务架构演进,不只是软件架构的改变,更是方法论和生产力的大幅度提升 本章主要介绍单体架构和微服务架构的优缺点,以及微服务的设计原则和拆分原则
1.1 背景介绍1.2 单体架构
1.2.1 单体架构的特点
1.2.2 单体架构的优点
1.2.3 单体架构的缺点
1.3 微服务架构
1.3.1 微服务架构的特点
1.3.2 微服务架构的优点
1.3.3 微服务架构的缺点
1.4 微服务拆分
1.4.1 微服务设计原则
1.4.2 微服务拆分原则
1.5 微服务开发原则
1.5.1 微服务命名
1.5.2 项目依赖配置
1.5.3 配置文件
1.5.4 代码命名
1.6 本章小结
基于Docker+Kubernetes,微服务容器化开发实战
本章主要介绍了微服务相关的概念、框架、开发与打包测试等内容 首先详细介绍了Dubbo服务框架和Spring Cloud 微服务框架,并对两个框架的概念、特点及技术支持进行了详细的介绍及对比 然后给出了微服务开发与运行的技术核全景图,罗列了目前微服务相关的主流技术。
2.1 微服务框架
2.1.1 Dubbo服务框架
2.1.2 Spring Cloud微服务框架
2.1.3 Dubbo服务框架和Spring Cloud微服务框架的对比
2.2 技术栈选型2.3 搭建开发环境
2.3.1 安装开发软件
2.3.2 Maven配置
2.3.3 IDE配置
2.4 编写框架代码
2.4.1 创建Maven工程
2.4.2 创建微信服务模块
2.4.3 微服务代码结构
2.5 编写业务代码
2.5.1 Controller文件
2.5.2 Mapper文件
2.5.3 Service文件和ServiceImpl文件
2.6 打包与测试
2.6.1 编译打包
2.6.2 运行测试
2.7 本章小结
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章主要介绍了微服务常用的 个环境搭建工作,包括开发环境、测试环境和生产环境Spring Boot 对应的配置文件分为dev、test、prod者的主要区别在于第三方服务IP 址、数据库地址、中间件地址及日志配置的不同
3.1 运行环境概述3.2 搭建开发环境
3.2.1 IDE环境
3.2.2 非IDE环境
3.3 搭建测试环境
3.3.1 非容器化环境
3.3.2 容器化环境
3.4 搭建生产环境3.5 切换运行环境3.6 本章小结
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章主要介绍了微服务运行环境的安装文件如何下载,以及微服务运行环境 Docker、Kubemetes 和Rancher 离线安装。因为 Docker 镜像仓库 Harbor 涉及 CA 证书 ,所以本章还介绍了 CA 证书的创建生成过程。
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章介绍了微服务系统整体端到端的日志采集,包括日志输出 日志采集 日志收集与处理、日志存储和日志展示等环节,首先介绍了基于 Fi lebeat和ELK 日志采集模型,充分利用 Elasticsearch 的全文检索能力以及 Kibana 丰富的图形化展示能力 其次介绍了微服务基于 Spring Boot 的日志输出配置, 分为开发环境 测试环境和生产环境,最后按照日志采集模型,分别介绍了日志采集 日志汇 与日志展示
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章首先介绍了调用链追踪的概念,阐述了服务调用的 Trace Span 的内涵 然后介绍了 Spring Cloud 调用链眼踪模型中的 Sleuth 组件和 Zipkin 组件,同时介绍了 SpringCloud 调用链跟踪模型;最后介绍了 Sleuth+Zipkin调用链追踪技术,在开发环境、测试环境和生产环境中的配置,以及调用链数据存储在 Elasticsearch 组件中,同时介绍了如何在 Zipkin和Kibana中图形化展示与检索调用链信息
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章首先介绍了微服务中熔断器的概念,然后介绍了 Spring loud 中熔断器 Hystrix的特点。最后介绍了熔断器相关的 Maven 依赖配置、熔断器的使用代码编写和熔断器的图形化展示与监控。
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章介绍了容器化、虚拟机及服务编排等内容,重点介绍了生产环境 应用镜像的构建过程 镜像包括母镜像、基础镜像和应用镜像,同时介绍了应用镜像的基础构建方法。
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章首先对系统监控进行了概述,包括主机监控、安全监控、中间件监控、业务监控、容器监控等 然后介绍了 Kubemetes 集群常用的监控方案,通常选择基于 Node Exporter、Prometheus Grafana 的监控体系。
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
本章简单介绍了持续 成和持续部署的概念,以及持续集成部署的模型,重点介绍了基于Kubemetes 容器化平台 Rancher 容器编排平台,以及 Jenkins 流水线的 CICD 的生产实践。
基于Docker+Kubernetes,微服务容器化开发实战
基于Docker+Kubernetes,微服务容器化开发实战
由于文章篇幅问题,需要完整PDF文档的小伙伴,可以前往共重号:爱穿格子衫的程序猿 即可获取