为什么要用微服务

微服务出现之前流行的 一体化结构 像是一个大容器,包含了系统的所有组件。这种架构有如下不足:

  • 不灵活——无法使用多种技术去构建一体化应用
  • 不可靠——如果系统中有一个功能不工作了,将可能造成整个系统无法工作
  • 不易扩展——耦合度高,系统升级必须重构整个系统
  • 迭代速度慢——各模块开发进度不一致导致开发集成部署阻塞
  • 等等

什么是微服务

微服务 是一种架构设计风格,把一个单体系统按业务功能拆分为多个服务,每个服务相互隔离、自治,各自实现单一的业务功能。有如下的特点:

  • 解耦——减少各功能模块之间的相互影响,扩展性强
  • 自治——各自维护自己的数据存储、业务逻辑等
  • 职责明确——各开发团队独立工作,提高开发效率
  • 持续交付——增加新功能时,只需再开一个新服务
  • 等等

微服务架构的优势

  • 独立开发
  • 独立部署
  • 错误隔离——单个服务出现错误,不影响其他服务正常运行
  • 混合技术栈——每个服务可以使用不同的编程语言开发
  • 按粒度扩展——新增功能时,只需新开发一个服务

Spring cloud 简介

Spring Cloud是微服务的代表性框架,基于springboot实现的微服务架构开发工具。(不了解Springboot 的朋友一定要先看看 SpringBoot)

SpringCloud包含多个组件:

  • Spring Cloud Netflix:核心组件

    • Eureka:服务治理组件
    • Ribbon:客户端负载均衡的服务调用组件
    • Feign:基于Ribbon和Hystrix的声明式服务调用组件
    • Zuul:网关路由组件
    • Hystrix:容错管理组件
  • Spring cloud Config:配置管理工具

  • ……

Springcloud 与 springboot版本匹配(图片来自网络,如侵权,请联系删除)
微服务与 SpringCloud

本专栏 SpringCloud 基础系列文章源码运行环境:
Eclipse: Photon Release(4.8.0)
Jdk: 1.8
Maven: 3.3.3
SpringBoot: 2.0.2.RELEASE
SpringCloud: Finchley.RELEASE

源码地址:https://pan.baidu.com/s/1Hmvh1Bbss_Z1w1I7I1mwDw 提取码:e41h

SpringCloud 基础系列其他文章:
SpringCloud 基础——Eureka服务注册中心
SpringCloud 基础——服务调用(RestTemplate实现)
SpringCloud 基础——服务调用(Feign实现)
SpringCloud 基础——Ribbon 负载均衡(RestTemplate 与 Feign)
SpringCloud 基础——Zuul 路由网关
SpringCloud 基础——Hystrix 熔断器与降级(RestTemplate 与 Feign)
SpringCloud 基础——Config 配置中心
SpringCloud 基础——Sleuth 链路追踪

相关文章:

  • 2022-12-23
  • 2021-09-29
  • 2021-03-28
  • 2021-10-19
  • 2021-04-09
  • 2022-02-27
  • 2021-10-28
猜你喜欢
  • 2021-12-12
  • 2021-08-09
  • 2021-05-16
  • 2021-12-17
  • 2021-07-14
  • 2021-08-17
相关资源
相似解决方案