SpringCloud&架构师面试

一、微服务是什么

1、基本概念

微服务是一种架构风格(区别于单体架构、垂直架构、分布式架构、SOA架构),应用程序被划分为更小的、流程驱动的服务。

2、微服务的特征

  1. 轻量化:将复杂的系统或者服务进行纵向拆分,每个微服务专注于解决专项问题。
  2. 低耦合:拆分后的各个服务在代码、资源、环境上相互独立,可以独立地进行开发、测试、部署与维护,有利于系统的稳定性(发生问题时影响面降低)和扩展(扩展资源时资源评估更方便、风险更低                                        )。
  3. 跨平台:不同的微服务可以使用不同的开发语言,亦可以运行在不同的环境。

3、微服务与传统服务的优缺点比较

微服务的优缺点

优点

  • 模块化与独立性:每个微服务独立开发、部署和扩展,技术栈灵活,团队可专注于特定功能。
  • 高可用性:单个服务故障不影响整体系统,容错性强。
  • 弹性扩展:可根据需求单独扩展特定服务,资源利用率高。
  • 敏捷开发:适合持续集成/交付(CI/CD),迭代速度快。

缺点

  • 运维复杂度:需管理大量服务,部署、监控、日志收集等工具链要求高。
  • 网络延迟:服务间通信依赖网络,可能影响性能。
  • 数据一致性:分布式事务处理复杂,通常需最终一致性方案。
  • 团队协作成本:跨团队协调和接口管理挑战大。

传统单体服务的优缺点

优点

  • 开发简单:代码库集中,初期搭建和调试容易。
  • 部署便捷:单一应用打包部署,运维复杂度低。
  • 性能高效:模块间本地调用,无网络开销。
  • 事务管理:ACID事务易于实现,数据强一致。

缺点

  • 可扩展性差:扩展需整体复制,资源浪费。
  • 技术栈僵化:全系统绑定同一技术,更新困难。
  • 可靠性风险:单点故障可能导致系统完全不可用。
  • 迭代缓慢:代码耦合度高,修改影响范围大。

适用场景对比

  • 微服务:适合大型复杂系统、快速迭代需求、高弹性扩展场景。
  • 单体架构:适合小型应用、快速验证原型或技术栈统一的场景。

二、SpringCloud是什么

1、基本概念:

Spring Cloud是一个微服务框架,它提供了一系列分布式系统解决方案。通过组件化的方式提供微服务的开发部署、服务注册发现、服务治理与服务运维等能力。

2、常用组件:

1)Spring Cloud Netflix:

Eureka:注册中心

Ribbon:负载均衡

Feign   :远程调用

Hystrix :服务熔断

Zuul/Gateway:网关

2)Spring Cloud Config:集中化的配置管理工具(将应用的配置与应用本身进行分离,让配置可以单独进行版本管理),应用配置的外部化存储,可用于Spring或非Spring的应用。

3)Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或配置更改事件。

4)Spring Cloud Consul:服务发现与配置工具,与Docker容器无缝集成。

5)Spring Cloud Security:安全工具包,提供对应用安全和身份验证支持。

6)Spring Cloud Sleuth:分布式调用链跟踪,与Zipkin、HTrace和ELK跟踪兼容。

7)Spring Cloud Cluster:领导选举,通过对Zookeeper、Redis、Consul抽象实现。

8)Spring Cloud Data Flow:微服务编排,可以通过拖拽式界面或REST API简易使用。

9)Spring Cloud Stream:轻量级事件驱动微服务框架,快速构建连接外部系统的应用。

10) Spring Cloud Task:短期的微服务框架,快速构建完成批量数据处理任务的应用。

三、SpringCloud组件的使用步骤

springcloud教程 -- 3.微服务熔断机制,断路器hystrix的使用详解_java 熔断怎么配置-优快云博客

springcloud教程 -- 4.网关zuul的使用详解_zuul使用教程-优快云博客

1、Hystrix(熔断、降级、限流)

1)有什么作用?

        在分布式系统中,如果某个服务节点发生故障或者网络发生异常,都有可能导致调用方被阻塞等待,如果超时时间设置很长,调用方资源很可能被耗尽。这又导致了调用方的上游系统发生资源耗尽的情况,最终导致系统雪崩。熔断可以有效防止服务雪崩。

        如果遇到突增流量,一般的做法是对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hiker帝国

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值