后端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. 微服务架构的常见挑战有哪些?
- 运维成本提高。
- 调试和测试复杂度增加。
- 数据一致性和版本兼容性问题。
后端微服务架构