十万字,亿级微服务结构原理与实战大全图文解析

简而言之,微服务架构风格是一种将单个应用程序开发为“一套小型服务”的方法,每个服务“运行在自己的进程中”,并通过轻量级机制(通常是HTTP资源API)进行通信。这些服务“围绕业务功能构建”,并通过全自动部署机制“独立部署”。“这些服务只有最低限度的集中管理”,可能是用不同的编程语言编写的,并使用不同的数据存储技术。

微服务是一种架构,这种架构是将单个的整体应用程序分割成更小的项目关联的独立的服务。一个服务通常实现一组独立的特性或功能,包含自己的业务逻辑和适配器。各个微服务之间的关联通过暴露api来实现。这些独立的微服务不需要部署在同一个虚拟机,同一个系统和同一个应用服务器中。

书中使用主流技术框架进行演示,采用通俗易懂的图例和真实的项目事例来阐述遇到问题时的解决思路和做法,并附有具体的实践演示,读者可以跟随本书进行代码试验,理解并运用微服务技术架构的原理,了解微服务的适应场景和优势。本书实用性强,是目前市面上关于微服务实践方面介绍得较为全面的书籍之一,适合想要了解和学习微服务的初、高级程序员和架构师等不同水平的读者阅读。

第1章微服务概述

第2章微服务架构设计

第3章Spring Cloud相关组件◎

统一配置中心◎ 断路器◎ 健康监控◎ 分布式链路跟踪第2章中介绍了微服务的核心技术及相关的技术实现,服务的远程调用和服务的注册发现是微服务的两大核心架构组件,当有了这两个功能,服务消费者就可以动态地发现和剔除服务提供者,并且可以设置适合的负载均衡策略,灵活地选择需要调用的服务器。这虽然已经可以满足微服务一些基础的日常功能要求,但也没有这么简单,还存在一些如海量服务的容错问题、雪崩问题、配置和监控问题、日志追踪问题等。本章将介绍Spring Cloud的相关微服务组件,以及解决这些问题的方法。

第4章契约测试◎

契约测试概述◎ 契约测试与TDD◎ 契约测试与独立交付◎ 契约测试的相关技术与用法实战在微服务架构中最常见的事情就是远程调用,如服务和服务之间的远程调用,前端和后端之间的远程调用,BFF和服务之间的远程调用,等等。当一个服务的接口发生变化时,依赖它的消费者也需要进行相应的调试或修改,如果这个过程采用口口相传或文件通知的办法,就会很低效,而且容易遗漏。在大多数时候服务端并不能清楚地知道全部的消费者有哪些,哪个接口会影响哪个消费者。这时就需要一种自动的方法来帮助我们测试接口的可靠性,这就是契约测试。

第5章API网关

◎ API网关的意义◎

API网关的职责◎

API网关的缺点◎

使用API网关认证身份◎

API网关技术实战网关的英文是Gateway,翻译为门、方法、通道、途径。API网关就是接口的通道或接口的大门。要想访问API,就必须通过API网关,为什么要有API网关,这样做有什么作用?带着这些问题,我们来学习本章的内容。

第6章BFF用于前端的后端◎

回顾前后端分离发展史◎

BFF诞生◎

基于RESTful的BFF◎

基于GraphQL的BFF随着前端技术的大爆发,面对逐渐复杂化的前端工程体系,越来越多的企业开始采用前后端分离的开发模式。随着微服务模式的流行,前后端的交互也变得越来越复杂,大量接口的组合、复杂的配置、重复的代码等问题使前后端的开发者饱受折磨。于是,一个新的模式就此诞生:用于前端的后端。

第7章领域驱动设计

◎ 如何划分微服务◎

领域驱动设计概述◎

领域和子域◎

领域事件◎

聚合和聚合根◎

限界上下文◎ 六边形架构◎ DDD的挑战在了解了那么多微服务相关的技术之后,我们可以开发微服务的项目了。有了技术框架和架构模式,具体应该如何实施一个微服务的项目?该如何设计模型和划分服务职责?本章为大家介绍一种微服务的设计方法:领域驱动设计。

第8章Docker和K8s

◎ 虚拟化技术◎

Docker容器化◎

学习使用Docker◎

容器编排◎

云商的支持提到微服务,首先想到的是服务小、职责小,如果是一个庞大复杂的系统,我们必然会建立很多的微服务,而且服务都可以水平扩展。在一些大型的互联网企业,服务的数量可能是成百上千的,如何去部署和管理这些服务成了一个难题,一旦发布新的版本,又该如何去更新?所以,Docker容器化、K8s容器编排等技术逐渐登上了舞台。下面介绍微服务架构下部署和维护服务的方式。

第9章持续集成、部署与交付

◎ 持续集成(CI)◎

持续交付(CD)◎

持续部署(CD)◎

CI/CD工具讲到持续集成、部署与交付(CI、CD与CD),我们不妨回想一下微服务的概念,围绕着业务建立了一组小的服务,这些服务都可以独立运行和部署,轻量级的交互,可以使用不同的语言和数据存储技术,拥有最小化的集中管理机制,可以自动化部署。除了自动化部署,所有的点本书中都介绍到了,虽然第8章提到了使用容器化技术的部署方式,但并没有实现自动化。本章就给大家介绍自动化部署的相关概念和方法,也思考一下,为什么微服务项目中需要自动化部署机制?

本次的内容大致的就介绍到这里拉,由于内容太多,只能简单介绍到这里,如有需要以上内容的完整版,大家可以私信我获取哦

本书读者对象• 想要学习和了解微服务的人• 已经了解微服务想要查漏补缺的人• 初、中、高级程序员• 软件架构师• 对软件架构有兴趣的各类人员

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,,咱们下期见。

收藏 等于白嫖,点赞才是真情。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值