32周Spring Cloud 基础

32周Spring Cloud 基础

  • 微服务的基本概念、设计与拆分原则
  • 微服务和Spring Cloud的关系
  • 微服务常见的组件和功能
  • 实战:springcloud查询案例
    • 分模块构建Spring Cloud项目
    • 完成课程列表、课程价格服务开发
    • 课程服务整合、服务注册与发现
    • 整合Feign实现服务间调用
    • 网关集成与开发
    • 服务的熔断与降级,进行实操演练
1. 微服务
1.1 什么是微服务
  • 单体应用的痛点
    • 引入依赖越来越多,部署效率低下
    • 团队协作开发成本高
    • 系统高可用性差
  • 解决单体痛点-服务化
    • 把传统的单机应用中的本地方法调用,改成通过RPC、HTTP产生的远程方法调用
    • 把模块从单体应用中拆分出来,独立成一个服务部署
  • 微服务概念
    • 微服务是一种架构风格,开发单个应用作为一系列小型服务的套件,其中每个服务都运行在自己的进行中,并且通过轻量级的机制实现彼此间通信,这通常是HTTP资源的API
    • 这些服务是围绕着业务功能构建的,并且可以通过完全自动化的部署机制进行独立部署
    • 而且这些服务的集中式管理做到了最小化(例如docker集中管理),每一种服务都可以通过不同的编程语言进行编写,并且可以使用不同的数据存储技术
1.2 微服务的特点
  1. 组件以服务形式来提供

  2. 微服务是一个产品,不是一个项目

  3. 轻量级通信、独立进行

  4. 分散治理、去中心化治理

  5. 容错性设计

  6. 会带来团队组织架构的调整

在这里插入图片描述

1.3 微服务的优缺点
  • 优点
    1. 服务简单、便于学习和上手,相对易于维护
    2. 独立部署,灵活扩展
    3. 技术栈丰富
  • 缺点
    1. 运维成本过高
    2. 接口可能不匹配
    3. 代码可能重复
    4. 架构复杂度提高
1.4 微服务的两大门派
  1. Spring Cloud :非常成熟的微服务框架,拥有众多子项目,提供一站式配套服务,可以快速构建分布式系统
    在这里插入图片描述

  2. Dubbo:高性能、轻量级的开源Java RPC框架,它提供了三大核心能力

    • 面向接口的远程方法调用
    • 只能容错和负载均衡
    • 服务发现与注册

    Dubbo提供的能力只是SpringCloud一部分

  3. 两者对别

  • 配套服务
核心组件SpringCloudDubbo
服务发现与注册SpringCloud Netflix EurekaZookeeper
服务调用方式REST API 、Feign、Ribbon(负载均衡)RPC
服务网关SpringCloud Netflix Zuul不提供
断路器SpringCloud Netflix Hystrix不提供
分布式配置SpringCloud Config本身不提供,可以与第三方组件联合配置使用(百度的disconf,阿里的diamond)
服务跟踪SpringCloud Sleuth同上(京东Hydra)
消息总线SpringCloud Bus不提供
数据流SpringCloud Stream不提供
批量任务SpringCloud Task同上(当当Elastic-Job)
  • 通信协议对别

    1. RPC
    2. REST(HTTP)
  • 总结

组装电脑 PK 品牌机

1.5 微服务拆分
  1. 什么时候进行服务化拆分
    • 第一阶段的主要目标是快速开发和验证想法
    • 进一步增加更多的新特性来吸引更多的目标用户
    • 项目复杂度过高,同时开发团队人员超过10人左右
  2. 不适合拆分
    • 小团队,技术基础较薄弱
    • 流量不高、压力小、业务变化也不大(比如OA)
    • 对延迟很敏感的低延迟高并发系统
  3. 微服务拆分两种方式
    • 纵向拆分(按照业务来拆分,商品服务、订单服务等)
    • 横向拆分
1.6 微服务扩展
  • 自动按需扩展

    根据CPU负载程度、特定时间(比如周末)、消息中间件的队列长度、业务具体规则、预测等来决定是否扩展

2. 实战:springcloud查询案例
  • 分模块构建Spring Cloud项目
  • 完成商品列表、商品价格服务开发
  • 课程服务整合、服务注册与发现
  • 整合Feign实现服务间调用
  • 负载均衡Ribbon
  • 断路器Hystrix
  • 网关集成与开发Zuul
  • 服务的熔断与降级,进行实操演练
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值