阿里十五位顶级架构师联合编写的《微服务架构解析手册》大厂面试必问

前言:

微服务架构如何与更广泛的软件架构概念相结合?什么是服务?服务的规模有多重要?为了回答这些问题,我们需要退后一步,看看软件架构的含义。软件的架构是一种抽象的结构,它由软件的各个组成部分和这些部分之间的依赖关系构成。

正如你将在本文中看到的,软件的架构是多维的,因此有多种方法可以对其进行描述。架构很重要的原因是它决定了应用程序的质量属性或能力。传统上,架构的目标是可扩展性、可靠性和安全性。但是今天,该架构能够快速安全地交付软件,这一点非常重要。你将了解微服务架构是一种架构风格,可为应用程序提供更高的可维护性、可测试性和可部署性。我将通过描述软件架构的概念及其重要性来开始本文。接下来,我将讨论架构风格的概念。然后我将微服务架构定义为特定的架构风格。让我们从理解软件架构的概念开始。

目录:

注意:技术类书籍是拿来获取知识的,不是拿来收藏的,你得到了书籍不意味着你得到了知识,所以请不要得到书籍后就觉得沾沾自喜,要经常翻阅!经常翻阅!

需要面试技巧的朋友点——【思维导图】——即可免费获取!

 

内容简介

数字化经济的快速发展和云计算给底层IT系统带来的巨大变革正是当下微服务架构快速发展的时代背景。Gartner预计,从2018年到2022年,PaaS将成为未来的主流平台交付模式,而PaaS平台需要更加灵活的云原生应用架构做技术支撑,微服务架构正是云原生架构落地的关键技术。

本书全面系统地介绍微服务架构与深度解析,全书共分为原理篇、实践篇、进阶篇3大部分12章节:

原理篇

第一章——微服务概述

微服务的概念来源于Martin Fowler的一篇知名博文:MicroServices.在博文中,“微服务架构”这个术语用来描述一种将软件应用程序设计为可独立部署的服务套件的特定方式。“细粒度自治服务”“自动化部署”“围绕业务能力”“端点智能”“语言和数据的分散控制”,从这些描述微服务架构特征的术语中,我们发现了一种越来越吸引人的软件系统风格。

第二章——微服务的采用前提

有些公司对微服务架构存在着“盲目崇拜”,大型企业在微服务架构上的成功更加增加了人们转型微服务架构的信心,但是大公司的技术实践未必适用于你所在的公司,我们有必要重新审视微服务架构,了解微服务的采用前提。

第三章——微服务构建

微服务构建本质上是软件构建过程中长期演进积累的一系列理念、架构原则、工具和最佳实践。领城驱动设计的软件思想体系和方法论可以用于指导微服务建模、微服务划分、微服务架构设计等相关工作,它可以促使技术人员与领城专家达成共识,构建领城边界合理、具备明确界限上下文、关注点分离、独立自治的微服务。

实践篇

第四章——脚手架

微服务本身是一种架构风格,也是指导组织构建软件的一系列最佳实践集合。然而,业务团队在拆分应用后,会产生更多细粒度服务,并面临这些服务在分布式网络环境中的复杂性。如何专心实现业务逻辑而不陷入微服务架构的技术细节,对开发者来说是一大难题。本章将介绍脚手架的概念,并介绍IVM环境下在技术成熟度、架构完整性、生态活跃度等方面都占据优势的微服务脚手架项目:Spring Boot。

第五章——关键技术

在微服务架构中,帮助开发者快速构建应用的脚手架技术无疑是非常重要的。以SpringBoot为代表的基底技术在继承了Spring框架思想的同时将简洁便利、约定优于配置、开箱即用等特性进一步发扬光大。然而仅仅依靠Spring Boct还不足以支撑微服务架构应对服务高可用、服务动态配置、服务高可扩展、服务负载均衡、服务容错与隔离等非功能需求,我们还需要相关基础设施提供服务治理及管控能力。

第六章——系统集成

系统集成是相对拆分而言的,当巨石型应用拆分为细粒度的微服务后,错综复杂的代码可以分解为独立的模块加以治理。然而,传统应用内部原本基于方法的调用方式可能会转变为跨进程的分布式网络调用方式,网络的不可靠性给服务模块之间的交互带来了复杂性。所以,微服务系统的集成对微服务架构能否成功落地至关重要。

第七章——微服务数据架构

微服务架构强调技术的多样性,选择最合适的技术解决业务的实际问题,这一原则同样适用于微服务数据存储领域。目前随着数据海量的增长、数据类型的多样性、对数据访问性能更快的诉求,关系数据库越来越不能满足用户的需求,于是NoSOL数据库应运而生。本章我们首先介绍数据分类,以及不同数据类型适合采用的不同数据存储技术,同时介绍NaSOL存储与关系数据库的主要区别和特性。

第八章——微服务交付

软件交付作为软件工程中的一个重要环节,在过去的软件发展历程中一直不断地演进和优化。从最早的瀑布式软件开发过程到敏捷开发流程,从Serum到DevOps,针对软件交付的方法论和技术也一直在延续发展。目前,基于容器技术的发展,软件交付的频率从按月交付转变为按天交付,交付平台工具和软件架构的发展使交付的成本越来越低,耗费的时间越来越少,不仅提高了工程师的交付、运维、生产效率,也极大地缩短了用户体验软件价值的周期。

第九章——服务监控治理

俗话说,流水的架构,铁打的监控,任何软件系统能够稳定运行都离不开监控。在微服务架构下,大型的单体架构拆分为众多微服务后,一个请求往往需要经过更多的服务节点。在这种情况下,我们必须知道是在哪个服务环节出现了故障,这就需要针对每一个服务,以及每一个指标都进行全面的监控。

进阶篇

第十章——响应式微服务架构

响应式编程(Reactive Progamming)是相对于命令式编程的一种全新的编程模型,是基于数据流变化传播的编程范式。响应式编程具备快速响应、不可变性、高并发、异步非阻塞、规模扩展、代码可读性高等诸多优势。Java编程领域出现了众多基于响应式流规范的编程开发框架。本章我们会从响应式编程动机、响应式编程基本概念、响应式宣言开始介绍,引出响应式编程的基本特性(数据流、背压等)和核心概念。

第十一章——Kubernetes容器管理

Kubernetes作为分布式容器编排及管理系统,本身采用了微服务的架构设计思想和理念。本章我们会简单介绍Kubemetes的基本概念和关键组件,同时讲解Kubemetes与SpringCloud的生态融合。

第十二章——微服务发展趋势

随着Docker技术的普及和Kubermetes在互联网公司的大量部署与使用,微服务架构正在围绕应用如何易于开发交付、减少资源消耗、无侵入治理等方面进行变革和演进。本章我们将讲解云原生架构、Service Mesh技术、无服务器架构(Serverless)技术。

最后:

今天的分享就到此结束啦!送大家一句话:这世界纷繁复杂千头万绪,需要一种精神自我鼓励,有风有雨更要选择坚强,是龙是虫要靠自己证明自己!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值