当前位置: 首页 > 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)
      • 优点:减少网络跳转
    • 服务端负载均衡

相关文章:

  • 19、HashTable(哈希)、位图的实现和布隆过滤器的介绍
  • 【Go底层】http标准库服务端实现原理
  • A* (AStar) 寻路
  • MySQL 的事务(Transaction)
  • 使用pyTorch 自然语言处理(NLP)知识库创建
  • 第十七章,反病毒---防病毒网管
  • Ubuntu 第11章 网络管理_常用的网络配置命令
  • AT9880B北斗单模卫星定位SOC芯片
  • 报错 | vitest中,vue中使用jsx语法,报错:ReferenceError: React is not defined
  • Java设计模式之单例模式:从入门到精通
  • 虚假AI工具通过Facebook广告传播新型Noodlophile窃密木马
  • 国产Excel处理控件Spire.XLS系列教程:C# 将Excel文件转换为Markdown格式
  • C++Primerplus编程练习 第六章
  • 数据库故障排查指南
  • PDF文档解析新突破:图表识别、公式还原、手写字体处理,让AI真正读懂复杂文档!
  • 系统间安全复制和同步文件
  • 数据库审计如何维护数据完整性:7 种工具和技术
  • 1.3.2 linux音频PulseAudio详细介绍
  • ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
  • stm32 debug卡在0x1FFFxxxx
  • 泰特现代美术馆25年:那些瞬间,让艺术面向所有人
  • 人民日报钟声:平等对话是解决大国间问题的正确之道
  • 2025世界数字教育大会将于5月14日至16日在武汉举办
  • 来论|建设性推进缅北和平进程——中国的智慧与担当
  • 上海启动万兆光网试点建设,助力“模速空间”跑出发展加速度
  • 2025上海科技节将于5月17日开幕,拟设6大板块专题活动