微服务与 SpringCloud

为什么要用微服务

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

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

什么是微服务

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

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

微服务架构的优势

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

Spring cloud 简介

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

SpringCloud包含多个组件:

  • Spring Cloud Netflix:核心组件

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

  • ……

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

本专栏 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 链路追踪

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值