写点什么

Github 标星 67.9k 的微服务架构以及架构设计模式笔记我粉了

  • 2023-05-25
    湖南
  • 本文字数:2601 字

    阅读完需:约 9 分钟

微服务架构是什么?

我们都知道微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多 SOLID 原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。

对于微服务架构思维上的转变有多重要?

微服务对我们的思考,更多的是思维上的转变。对于微服务架构:技术上不是问题,意识比工具重要。


关于微服务的几点设计出发点:

  1. 应用程序的核心是业务逻辑,按照业务或客户需求组织资源(这是最难的)

  2. 做有生命的产品,而不是项目

  3. 头狼战队,全栈化

  4. 后台服务贯彻 Single Responsibility Principle(单一职责原则)

  5. VM->Docker (to PE)

  6. DevOps (to PE)


同时,对于开发同学,有这么多的中间件和强大的 PE 支持固然是好事,我们也需要深入去了解这些中间件背后的原理,知其然知其所以然,在有限的技术资源如何通过开源技术实施微服务?


最后,一般提到微服务都离不开 DevOps 和 Docker,理解微服务架构是核心,devops 和 docker 是工具,是手段。


下面就一起通过两份文档来深入了解微服务架构与它的设计模式,限于文章篇幅原因,只能以截图的形式展示出来,有需要的小伙伴 点击这里凭本文截图即可获取!


微服务架构

第 1 章 微服务概述

  • 什么是微服务

  • 常见的微服务组件

  • 常用的微服务框架

  • 微服务架构设计模式

  • 如何实施微服务

从微服务的起源和现实业务的角度探讨微服务

第 2 章 微服务设计原则

  • 设计原则之分层架构

  • 设计原则之统一通信协议

  • 设计原则之单一职责

  • 设计原则之服务拆分

  • 设计原则之前后端分离

  • 设计原则之版本控制

  • 设计原则之围绕业务构建

  • 设计原则之并发流量控制

  • 设计原则之 CAP

  • 设计原则之 EDA 事件驱动

  • 设计原则之 CQRS

  • 设计原则之基础设施自动

  • 设计原则之 数据一致性

  • 设计原则之设计模式

  • 设计原则之 DevOps

  • 设计原则之无状态服务

针对微服务的设计理念进行整理,包括服务如何拆分、前后端分离、CAP 理论和 CQRS 等,是一个高层次的指导原则。

第 3 章 微服务之 Spring Boot

  • 一切从简单开始

  • 快速集成第三方的 Starter

  • 降低开发复杂度之面向切面

  • 并不复 杂的持久化.

  • Web 开发

  • 懒人的接口文档管理.

  • 优化的调度

  • 健康是永恒的主题

  • 强强联合之整合 Dubbo

详细地介绍 SpringBoot 的开发,包括使用它的优缺点,以及在企业级开发中常用的工具包的整合,包括面向切面编程、Web 开发、文档管理和调度管理,最后结合 Dubbo 完成一个示例性的分布式工程。

第 4 章 微服务之 Docker

  • Docker 原理

  • 更轻量级的虚拟化

  • 三个概念理解 Docker

  • Dockerfile 定制一切

  • Docker 网络

  • Docker 数据卷

  • Spring Boot 与 Docker

  • 搭建自己的镜像仓库

  • Kubernetes

  • 私有云整体架构

主要讲解 Docker 的基础操作,介绍微服务中所用到的容器相关的技术,最后给出通用的基于容器的私有云架构。

第 5 章 微服务之 Spring Cloud

  • 注册中心

  • 负载均衡

  • 微服务容错 (Hystrix)

  • 分布式配置中心

  • API 网关

  • 消息总线(Spring Cloud Bus)

对 SpringCloud 实现微服务的几个重要框架进行展开描述,让读者了解注册中心、负载均衡、容错、分布式配置、网关和消息总线,能够完成开发层面的微服务架构。

第 6 章 微服务之 Spring Cloud 其他框架

  • Spring Cloud Consul

  • Spring Cloud ZooKeeper

  • Spring Cloud archaius

  • Spring Cloud Task

  • Spring Cloud Security

  • Spring Cloud Sleuth

  • Spring Cloud Stream

  • Spring Cloud Data Flow

对 Spring Cloud 的非核心框架进行介绍,包括 Consul、ZooKeeper、安全框架和数据流框架。

第 7 章 微服务之自动化测试与质量管理

  • 微服务测试

  • 单元测试

  • API 测试

  • A/B 测试

  • 冒烟和回归测试

  • 静态代码分析

  • SonarQube 质量监控

主要对测试和质量管理进行介绍,测试部分包括单元测试、A/B 测试、冒烟和回归测试,质量管理部分主要使用静态代码分析,并且基于 SonarQube 对代码进行静态检查,以及分析代码的总体质量。

第 8 章 微服务之 JHipster

  • JHipster 技术列表

  • Angular 简介

  • 快速开始 JHipster

  • 目录结构

  • 构建微服务应用

  • 基础配置

对微服务的最佳实践 JHipster 进行系统的介绍,并且对 JHipster 部分内容做了处理,还将在国内不是很流行的部分进行了处理,尽可能详细地介绍 JHipster 的应用和配置。

第 9 章 微服务之自动化部署

  • 私有仓库搭建

  • Ansible

  • 持续集成

  • 灰度发布

主要对自动化部署进行介绍,因为微服务的目的不仅仅是简化开发,而且能够提高整个团队的运行效率。所以私服的使用和自动化运维就显得非常重要。

第 10 章 微服务之日志收集与监控

  • ELK 搜集与分析

  • 系统监控

  • 运维监控

  • APM 监控

  • Pinpoint 的安装与使用

主要讲解日志收集和 APM 监控,对于线上系统来说,出现问题的概率还是非常大的,如何快速定位并第一时间找到问题所在的点就显得非常重要。APM 部分对常用的监控工具进行列举,重点介绍 Pinpoint,对使用和邮件告警也进行了重点介绍。

第 11 章 完整示例

  • 安装 Lombok

  • PiggyMetrics

  • 整体架构

  • 安装和运行

通过对 PiggyMtrics 的全面讲解,让读者能够了解一个简单的微服务架构所包含的技术点和构建原则,并且实际部署微服务,完成业务的基础操作。

第 12 章 微服务核心功能推荐

  • 工作流引擎

  • 规则引擎

  • 调度系统

  • 消息推送

  • 网关中间件

  • 分库分表中间件

  • 报表引擎

  • 数据处理

  • 并发编程

  • 分布式配置

  • CAS

  • WebFlux

对在微服务构建过程中可能涉及的技术点进行讲解,包括工作流引擎、规则引擎、调度系统、分布式配置及单点登录。

这份实战文档从微服务的思想基础、设计原则,延伸到 Spring Boot. Docker. Spring Cloud 及其他框架的介绍,不仅涉及微服务的自动化测试与质量管理、自动化部署、日志收集与监控,还提供完整的实战示例。全书清晰、透彻地剖析了微服务的整个生态,有助于大家快速提升对微服务的认知,构建自己的架构体系。

微服务架构设计模式

这份文档围绕微服务的架构设计,深入浅出地介绍了微服务与 SOA 等其他架构的区别,软件系统服务的拆分策略,微服务的同步和异步通信模式,如何使用微服务进行事务管理,如何在微服务架构中设计业务逻辑。同时详细描述了微服务架构中的测试和生产部署策略。对设计微服务架构有很好的指导作用。

第 1 章 逃离单体地狱

第 2 章 服务的拆分策略

第 3 章 微服务架构中的进程间通信

第 4 章 使用 Saga 管理事务

第 5 章 微服务架构中的业务逻辑设计

第 6 章 使用事件溯源开发业务逻辑

第 7 章 在微服务架构中实现查询

第 8 章 外部 API 模式

第 9 章 微服务架构中的测试策略(上)

第 10 章 微服务架构中的测试策略(下)

第 11 章 开发面向生产环境的微服务应用

第 12 章 部署微服务应用

第 13 章 微服务架构的重构策略

限于文章篇幅原因,就展示到这里了,有需要的小伙伴 点击这里凭本文截图即可获取!

用户头像

还未添加个人签名 2021-07-28 加入

公众号:该用户快成仙了

评论

发布
暂无评论
Github标星67.9k的微服务架构以及架构设计模式笔记我粉了_Java_做梦都在改BUG_InfoQ写作社区