前言
微服务不是银弹,但当业务规模达到一定程度时不可避免。本文分享 2026 年的微服务实践。
一、何时拆分微服务
信号:1. 团队 > 5 人 2. 部署频繁互相阻塞 3. 单体启动 > 30s 4. 业务边界清晰
二、拆分原则
1. 按业务领域拆分(DDD)
2. 每个服务独立数据库
3. 服务间通过 API 或消息通信
4. 避免循环依赖
三、服务发现
1. 客户端发现 - Ribbon / 自定义
2. 服务端发现 - Nacos / Consul / Kubernetes Service
四、链路追踪
OpenTelemetry 标准 + Jaeger 收集。每个请求生成 traceId,跨服务传递。
五、Service Mesh
Isio / Linkerd 将流量管理、熔断、重试下沉到 sidecar,应用代码解耦。
apiVersion: networking.istio.io/v1
kind: VirtualService
spec:
http:
- route:
- destination:
host: myservice
subset: v1
weight: 90
- destination:
host: myservice
subset: v2
weight: 10
六、可观测性三件套
1. Metrics - Prometheus
2. Logs - Loki
3. Traces - Jaeger
总结
微服务带来复杂度,但解决规模化问题。不要过早拆分,业务驱动拆分。