SorryToPerson logo
返回
后端2026-04-15

后端面试题:微服务设计

总结微服务拆分、服务通信、数据一致性和治理相关的常见面试题。

后端面试题:微服务设计

1. 微服务拆分的原则有哪些?

  • 按业务边界拆分。
  • 保持服务内聚、接口清晰。
  • 避免过细粒度导致过多交互。

2. 服务间通信方式有哪些?

  • 同步 HTTP/REST。
  • gRPC。
  • 异步消息队列(RabbitMQ、Kafka)。
  • 选择取决于延迟、可靠性和耦合。

3. 如何处理分布式事务?

  • 尽量避免强一致性分布式事务。
  • 采用最终一致性、补偿事务、Saga 模式。

4. 服务注册与发现如何实现?

  • 使用注册中心(Consul、Eureka、Etcd)。
  • 通过 DNS 或客户端负载均衡获取可用实例。

5. 微服务治理包括哪些内容?

  • 配置中心、服务降级、限流、熔断、灰度发布。
  • 链路追踪和全局监控。

6. 你如何保障微服务的可靠性?

  • 使用重试、超时、熔断。
  • 使用健康检查和服务发现。
  • 使用隔离与限流避免雪崩。

7. 如何处理跨服务的日志与追踪?

  • 使用链路追踪(OpenTelemetry、Zipkin、Jaeger)。
  • 统一请求 ID,便于跨服务关联。

8. 微服务架构的常见挑战有哪些?

  • 运维成本提高。
  • 调试和测试复杂度增加。
  • 数据一致性和版本兼容性问题。
后端微服务架构