前言
最近几年,微服务可谓是大行其道。在业务模型不完善,超大规模流量的冲击的情况下,许多企业纷纷抛弃了传统的单体架构,拥抱微服务。这种模式具备独立开发、独立部署、可扩展性、可重用性的优点的同时,也带来这样一个问题:开发、运维的复杂性提高。有人感觉微服务越做越不方便管理。
然而,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易维护。因此,未来微服务的发展只会越来越完善,成为将来大中型企业业务架构的发展方向。
但微服务架构包含了 N 多优化、N 多细节,对于一些 coding 的朋友,由于接触不到一线实战架构设计,眼看别人都在向微服务架构转型,自己却只能日复一日地重复造轮子。
最近整理了一套微服务实战文档,讲解很透彻。今天分享给大家。这份资料尤其适合以下人群:
- 没有用过微服务技术,只会用传统的 SSM 框架
- 用过 Spring Cloud、Dubbo等技术,但是只限于使用,遇到问题基本无法解决
- 从来没有系统学习微服务架构,觉得架构设计是遥不可及的
- 对于微服务技术有所了解,但尚没有设计高可用高并发的实践经历
因文章篇幅限制,下面仅给大家展示目录及部分内容
原理篇
本篇我们会介绍微服务架构迅速发展的时代背景、微服务的定义和主要特性,以及其背后的设计哲学。
我们还将从实际业务场景出发介绍采用微服务架构的前提、如何对单体架构进行微服务化改造、巨石型应用的拆分迁移策略。
同时,针对微服务架构的构建过程,将围绕技术、组织、流程管理等软件工程要素展开详细讨论,深入讲解康威定律、DevOps、领域驱动设计、云原生12要素及相关的概念、理论、架构原则。
- 第1章微服务概述
- 第2章微服务的采用前提
- 第3章微服务构建
实践篇
本篇是微服务架构的实践篇,我们将从技术实现层面讨论如何实践和落地微服务架构。
在微服务架构模式下,使用一种称为“基底”( chassis)模式的服务开发方式可以快速高效地实现服务启动、服务注册、配置管理、容错、负载均衡、安全等基础功能。本篇重点介绍Pivotal公司开源的Spring Boot项目,以及在这种模式下的技术实践。
微服务架构的难点是分布式架构下细粒度服务交互的复杂性和服务治理。本篇通过介绍SpringCloud框架,讲解微服务治理体系的关键技术,以及如何保证服务的SLAL。
同时,在细粒度服务的交互集成、数据一致性管理、服务交付部署、服务监控跟踪等方面,我们都将介绍当前主流的技术实践和解决方案。
- 第4章脚手架
- 第5章关键技术
- 第6章系统集成
- 第7章微服务数据架构
- 第8章微服务交付
- 第9章服务监控治理
进阶篇
互联网技术的飞速发展、用户规模的扩大、业务需求的快速更新和产品的持续迭代演进都对系统的规模扩展、资源消耗、快速响应能力带来了更大的挑战。
在微服务开发领域,Spring5集成Reactor响应式框架为Java开发者带来了编程模型和编程范式的革命性的技术。从Spring Boot 2.x到最新的Spring Cloud生态体系,Spring微服务框架在应对业务的快速、响应、扩展性的诉求上一直保持着持续的迭代和演进。
在微服务运行和容器编排领域,Kubernetes已经成为事实上的容器运行编排标准。本篇会介绍Kubernet es的架构理念和关键组件,以及Kubernet es与Spring Cloud生态的融合发展等相关内容。
在微服务架构的发展趋势上,我们将介绍云原生应用架构,以及微服务目前关注的两个技术领域:Service M esh服务网格及Serverless无服务计算框架。
- 第10章响应式微服务架构
- 第11章Kubernetes容器管理
- 第12章微服务发展趋势