分布式系统的概念

随着互联网的不断发展,大数据、高并发和快响应是互联网系统的必然要求。但是在大数据和高并发的情况下,要求快响应是比较苛刻的,因为大量的数据会导致查找数据的时间变长,高并发会使互联网系统因繁忙而变慢,进而影响响应速度。所以说单机系统已经不可能满足现在互联网了,为了满足互联网的苛刻要求,网站系统已经从单机系统发展为多台机器协作的系统,因而互联网系统已经从单机系统演变为多台机器的系统,我们把这种多台机器相互协作完成企业业务功能的系统,称为分布式系统。

微服务架构

因为分布式非常复杂,所以一直以来都没有权威的架构和设计,更多的只是前人的积累和实践。前人总结出了许多有用的理念,积累了许多经验,开发了很多实施分布式的软件。近几年来,最热门的分布式架构非微服务架构莫属。

两者之间有何联系

分布式只是一种手段,把不同的机器分散在不同的地方,然后这些机器间相互协助完成业务。微服务是一种特殊的分布式, 换句话说,微服务架构是分布式服务架构的子集。微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。

我们知道,实现微服务需要大量的软件,而微服务并不能解决所有的分布式系统的问题,它只是寻求一个平衡点,让架构师能够更为简单、容易地构建分布式系统。但微服务并非金科玉律,对于一些特殊的分布式需求,还需要我们使用其他的方法来得以实现,正如方法是死的,而人是活的,需要实事求是地解决问题。



这篇文章要为大家介绍的文档,结合实际案例对Spring Cloud微服务系统基础组件的原理和应用进行了阐述,还结合了微服务讲解分布式系统的相关知识,以及微服务(分布式)系统的开发。下面是文档的主要内容:

  • 第1章 分布式和微服务概述
  1. 互联网系统的特征
  2. 分布式系统概述
  3. 分布式系统的设计原则
  4. 微服务架构
  5. Spring Cloud
  6. 微服务系统样例简介

    • 第2章 技术基础
    1. Spring Boot
    2. REST风格简介
    • 第3章 服务治理——Eureka
    1. 服务治理中心
    2. Eureka治理机制
    3. Eureka配置
    • 第4章 客户端负载均衡——Ribbon
    1. 负载均衡概述
    2. 初识Ribbon
    3. Ribbon负载均衡器和策略
    4. Ribbon服务实例清单维护
    5. 自定义Ribbon客户端
    6. Ribbon使用实践

    • 第5章 断路器——Hystrix
    1. 概述
    2. 入门实例
    3. Hystrix工作原理
    4. Hystrix实践
    5. 仪表盘
    6. Hystrix属性配置
    • 第6章 新断路器——Resilience4j
    1. 断路器(CircuitBreaker)
    2. 限速器(RateLimiter)
    3. 舱壁隔离(Bulkhead)
    4. 重试器(Retry)
    5. 缓存(Cache)
    6. 时间限制器(TimeLimiter)
    7. 组件混用
    8. 使用Sping Boot 2的配置方式
    • 第7章 声明式调用——OpenFeign
    1. OpenFeign的使用
    2. 配置Hystrix
    3. 使eilence4g调用openFeign接口
    • 第8章 旧API网关——Zuul
    1. 什么是网关
    2. Zuul入「实例
    3. Zuul原理一过滤器
    4. 限流
    5. 动态路由
    6. 灰度发布(金丝雀发布)
    7. 使用Hystrix熔断

    • 第9章 新网关——Spring CloudGateway
    1. 认识Gateway
    2. 断言(Predicate)
    3. 过滤器(Filter) 概述
    4. 内置过滤器I厂
    5. 自定义过滤器
    6. Gateway知识补充

    • 第10章 配置——Spring Cloud Config
    1. 入门实例——使用Git仓库
    2. 使用其他方式实现配置
    3. 服务端的使用详解
    • 第11章 Spring Cloud Sleuth全链路追踪
    1. 链路追踪的基本概念
    2. Spring Cloud Sleuth和Zipkin
    3. 实例
    4. 持久化

      • 第12章 微服务的监控——Spring Boot Admin
      1. 本章实例简介
      2. URL注册方式
      3. 服务发现注册方式
      4. 使用Spring Security保护Admin服务端
      • 第13章 生成唯一的ID——发号机制
      1. 生成ID的常见办法
      2. 自定义发号机制
      • 第14章 分布式数据库技术
      1. 基础知识
      2. 开发环境搭建
      3. 分片算法
      4. 分片中间件ShardingSphere

      • 第15章 分布式数据库事务
      1. 强一致性事务
      2. 弱一致性事务
      3. 分布式事务应用的实践理论

      • 第16章 分布式缓存——Redis
      1. Redis的高可用
      2. 使用一致性哈希(ShardedJedis)
      3. 分布式缓存实践

        • 第17章 分布式会话
        1. 分布式会话的几种方式
        2. 黏性会话
        3. 服务器会话复制
        4. 使用缓存singsisnodataredis
        5. 持久化到数据库
        • 第18章 分布式系统权限验证
        1. Spring Security
        2. 自定义微服务权限控制
        3. OAuth 2.0概述
        4. Spring Cloud Security

        • 第19章 远程过程调用
        1. Spring Security
        2. 自定义微服务权限控制
        3. OAuth 2.0概述
        4. Spring Cloud Security
        • 第20章 微服务设计和高并发实践
        1. 微服务设计原则
        2. 高井发系统的一些优化经验
        3. 简易微服务系统实例

        这份文档讲述了Spring Cloud微服务及其组件。因为微服务系统作为分布式系统的一种形式,必然会带有分布式系统的各种弊病,所以也会介绍分布式系统的一些常见知识,以更好满足企业构建系统的需求。