微服务及SpringCloud概述

1.1传统的单体应用

随着业务的发展,功能的增加,单体项目将变得越来越臃肿,同时一个bug可能导致整个应用瘫痪。

用户量上升,系统压力增大,单一模块可能使用频率较高,此时需要对模块进行扩展,多部署几个节点,使用Nginx做负载均衡,但是每个子系统前面都要做负载均衡,太麻烦了,因此需要进一步优化

微服务架构演变:小公司——》大集团——》拆分的多个子公司

每个子公司都有自己的独立业务,互不影响,需要时相互扶持

1.2微服务的优缺点

优势:

  1. 敏捷开发:便于单个服务的修改发布
  2. 职责单一:专门团队负责专门服务,利于分工
  3. 独立部署,耦合性低
  4. 快速启动:代码量少
  5. 精准扩容:某个服务访问量大时,将这个服务单独扩容即可
  6. 代码复用:基础服务可进行抽离,通过接口进行支持

开发——》部署——》启动——》扩展

劣势:

  1. 调用复杂:之前模块调用都是在本地,模块独立部署后需要考虑网络问题,容错问题,调用关系等
  2. 独立的数据库:分布式事务问题
  3. 测试难度提升:服务和服务之间通过接口交互,接口修改会影响所有调用方
  4. 运维成本上升:服务越来越多,部署监控将变得越来越复杂

开发——》运维——》测试

1.3什么是SpringCloud

定义: SpringCloud是用于构建微服务开发和治理的框架集合

Spring Cloud是一系列框架的有序集合。它利用springboot的开发便利,巧妙地简化了分布式系统基础设施的开发,如服务注册,服务发现,配置中心,负载均衡,断路器,网关,数据监控,消息总线等

模块介绍:

  • Eureka: 服务注册中心,用于服务管理。
  • Ribbon: 基于客户端的负载均衡组件。
  • Hystrix: 容错框架,能够防止服务的雪崩效应。
  • Feign: Web服务客户端,能够简化HTTP接口的调用。
  • GetWay: API网关,提供路由转发、请求过滤等功能。
  • Config: 分布式配置管理。
  • Sleuth: 服务跟踪。
  • Stream: 构建消息驱动的微服务应用程序的框架。
  • Bus: 消息代理的集群消息总线。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值