当前位置: 首页 > news >正文

高频微服务面试题总结

微服务基础概念

  1. 什么是微服务架构?

    • 将单一应用拆分为一组小型服务
    • 每个服务运行独立进程,轻量级通信
    • 独立开发、部署和扩展
    • 特点:松耦合、独立技术栈、独立数据库
  2. 微服务与单体架构对比

    维度单体架构微服务架构
    开发效率初期快初期慢
    部署整体部署独立部署
    扩展性整体扩展细粒度扩展
    技术多样性单一技术栈多语言支持
    故障隔离影响范围大影响范围小
  3. 微服务优缺点

    • 优点
      • 独立部署
      • 技术异构性
      • 弹性扩展
      • 故障隔离
    • 缺点
      • 分布式系统复杂性
      • 数据一致性挑战
      • 运维复杂度高
      • 网络延迟

服务通信

  1. 微服务间通信方式

    • 同步通信
      • REST (HTTP/JSON)
      • gRPC (高性能二进制协议)
      • GraphQL (灵活数据查询)
    • 异步通信
      • 消息队列 (Kafka/RabbitMQ)
      • 事件驱动 (Event Sourcing)
    • 通信模式
      • 请求/响应
      • 发布/订阅
      • 事件通知
  2. REST vs gRPC

    特性RESTgRPC
    协议HTTP/1.1HTTP/2
    数据格式JSON/XMLProtocol Buffers
    性能较低
    流支持有限完善(四种流模式)
    浏览器支持完善有限(需要gRPC-web)

服务发现与注册

  1. 服务注册中心实现原理

    • 核心功能
      • 服务注册
      • 服务发现
      • 健康检查
    • 常见实现
      • Eureka (AP系统)
      • Nacos (支持AP/CP)
      • Consul (CP系统)
      • Zookeeper (CP系统)
  2. 客户端负载均衡 vs 服务端负载均衡

    • 客户端负载均衡
      • 客户端维护服务列表
      • 自行选择服务实例(Ribbon)
      • 优点:减少网络跳转
    • 服务端负载均衡
http://www.xdnf.cn/news/351901.html

相关文章:

  • 【MySQL】联合查询
  • 自适应混合索引创建与管理:一种智能数据库优化机制的研究
  • 高并发内存池(二):项目的整体框架以及Thread_Cache的结构设计
  • 怎么用idea打jar包
  • 从“山谷论坛”看AI七剑下天山
  • 集成管理工具Gitlab
  • 高清屏幕录像工具 Mirillis Action v4.45.0
  • kitty 终端ssh 命令远程无法正常输入命令
  • 第J7周:ResNeXt解析
  • 【Linux】环境变量(图文)
  • Servlet、HttpServlet 和 DispatcherServlet 区别与关系
  • SPN技术介绍
  • Redis 常见数据类型
  • 新闻发稿筛选媒体核心标准:影响力、适配性与合规性
  • 【LUT技术专题】ECLUT代码解读
  • 如何从极狐GitLab 容器镜像库中删除容器镜像?
  • 解决osx-arm64平台上conda默认源没有提供 python=3.7 的官方编译版本的问题
  • android-ndk开发(11): 安装 repo 命令
  • MySQL + Elasticsearch:为什么要使用ES,使用场景与架构设计详解
  • NAT穿越
  • 力扣-24.两两交换链表中的结点
  • SpringBoot默认并发处理(Tomcat)、项目限流详解
  • 【列表类型】
  • Spring Boot + MyBatis-Plus 高并发读写分离实战
  • 人工智能 机器学习期末考试题
  • Android RxJava框架分析:它的执行流程是如何的?它的线程是如何切换的?如何自定义RxJava操作符?
  • 内存安全革命:工具、AI 与政策驱动的 C 语言转型之路
  • 安全核查基线-3.用户umask设置策略
  • 数字IC前端学习笔记:锁存器的综合
  • Vue3 + Element Plus 动态表单实现