微服务框架对比理解
2026-09-15
📑 目录
分类对比
目前了解到的有三个
| 框架 | 特点 |
|---|---|
| Kratos | 解决大新团队架构问题,DDD领域架构分层,统一架构规范,方便团队合作 |
| Kitex | 解决性能与稳定性和大规模集群下延迟与资源消耗,自研的高性能网络库Netpoll和零拷贝序列化技术,显著降低了网络I/O和序列化的CPU开销,提供了丰富的治理特性 |
| go-zero | 用于快速开发解决高并发问题,通过代码生成和内置治理提升开发效率及性能与稳定性。 |
| 治理能力 | go-zero | Kratos | Kitex |
|---|---|---|---|
| 服务注册发现 | 内置 | 可插拔,需集成 | 不内置,需集成 |
| 限流 | 内置 | 中间件 | 扩展 |
| 熔断 | 内置 | 中间件 | 扩展 |
| 降载 | 内置自适应降载 | 需自行实现 | 扩展 |
| 超时/重试 | 内置 | 支持 | 支持 |
| 配置中心 | 支持 | 抽象接口,需集成 | 需集成 |
| 链路追踪 | 支持 | 内置抽象,集成 OTel | 支持 |
| 监控指标 | 支持 | 内置 metrics 抽象 | 支持 |
| 网关 | 内置 HTTP | 需自行组合 | 需额外组件 |
一般架构
go-micro-job/
├── go.work
├── README.md
├── Makefile
├── docker-compose.yml
├── api/
│ └── proto/
│ ├── user/v1/user.proto
│ └── order/v1/order.proto
├── services/
│ ├── gateway/
│ │ ├── go.mod
│ │ ├── cmd/main.go
│ │ └── internal/
│ ├── user/
│ │ ├── go.mod
│ │ ├── cmd/main.go
│ │ ├── internal/
│ │ │ ├── domain/
│ │ │ ├── usecase/
│ │ │ ├── repository/
│ │ │ └── transport/
│ │ └── migrations/
│ └── order/
│ ├── go.mod
│ └── …
├── pkg/
│ ├── logger/
│ ├── tracing/
│ ├── config/
│ └── middleware/
├── deployments/
│ ├── docker-compose.yml
│ └── k8s/
└── docs/
├── architecture.md
└── api.md
不同框架工具生成的不同,但是大体思想可以这样理解
评论
加载评论中...