SpringCloud终极教程之核心讲解

前言

       近期公司可能是从长远考虑也为了提高产品竞争力,要求研发团队升级现有技术框架,经过技术研讨决定采用SpringCloud重构现有微服务架构。通过一段时间对SpringCloud的深度学习和大量的技术实践,最终洞察SpringCloud技术核心也完成了公司技术框架的优化和技术改良。借此机会我要把SpringCloud核心技术以我的理解与实践重新梳理,同时形成一部完整的核心技术教程,希望能帮助他人。
       我们从头说起公司之前微服务架构主要是采用SpringMVC和SpringBoot等这些技术实现,真实应用过程中通过分布式部署完成微服务功能,其技术架构如下图。
SpringBoot服务架构

SpringBoot微服务架构

在这里插入图片描述

优点:
  1. 技术架构简单明了,技术人员研发比较容易效率高。
  2. 服务组件整体结构紧凑,源代码可以达到高可复用。
  3. 服务在生产环境部署时比较灵活,可以进行单点或者多点部署运行,整体服务可大可小。
缺点:
  1. 服务组件之间紧耦合,容易突发雪崩事件发生。
  2. 分布式应用在存在服务日志收集困难的弊端。
  3. 服务升级时不能实现自动化升级所有节点服务。

SpringCloud服务架构

在这里插入图片描述

优点:

1.每个服务相对较小,只关注一个业务功能,开发者易于理解。
2.每个服务都可以独立部署,简化了部署新服务版本的流程
3.易于规模化开发,多个开发团队可以并行开发。
4.改善故障隔离,一个服务宕机不会影响其他服务
5.微服务是松散耦合的,每个服务可以进行独立的开发和部署
6.无需长期使用一套技术线,可使用不同的编程语言和工具开发

缺点:

1.运维成本高,几十甚至上百道工序高效运转
2.开发团队需要保证集群可用,保证数据库集群可用,这就意味着团队需要高品质的自动化技术
3.微服务架构模式应用个改变将会波及多个服务产生雪崩效应。
4.分布式系统的复杂性,分布式系统意味着开发者需要考虑网络延迟、容错、消息序列化、不可靠的网络、异步、版本控制、负载等。

SpringCloud终极教程

基础部分
  1. 微服务技术的历史和未来发展趋势

  2. SpringCloud核心功能

  3. SpringCloud-Eureka服务注册中心

  4. SpringCloud-Ribbon负载均衡式服务消费者

  5. SpringCloud-Feign声明式服务消费者

  6. SpringCloud-Hystrix 服务熔断器

  7. SpringCloud-Zuul常用路由网关

  8. SpringCloud-Gatway高级路由网关

  9. SpringCloud-Configs 服务配置中心

  10. SpringCloud-Turbine 服务聚合监控

  11. SpringCloud-Sleuth 服务链路追踪

  12. SpringCloud-Security 服务安全策略

  13. SpringCloud-Bus服务消息总线

高级部分
  1. SpringCloud-Eureka之源码解析

  2. SpringCloud-Ribbon之源码解析

  3. SpringCloud-Feign之源码解析

  4. SpringCloud-Hystrix之源码解析

  5. SpringCloud-Gatway之源码解析

以上是本教程将要推出的技术课程(附带可运行源码),并持续更新中,此教程对自己是温故而知新,对别人就是抛砖引玉。