FreeCar
FreeCar 是一个基于 Hertz 与 Kitex 的全栈微服务项目,欢迎 Star。
项目地址:CyanAsterisk/FreeCar
Hertz
Hertz 是一个超大规模的企业级微服务 HTTP 框架,具有高易用性、易扩展、低时延等特点。
Hertz 默认使用自研的高性能网络库 Netpoll,在一些特殊场景中,相较于 go net,Hertz 在 QPS、时延上均具有一定优势。
在内部实践中,某些典型服务,如框架占比较高的服务、网关等服务,迁移 Hertz 后相比 Gin 框架,资源使用显著减少,CPU 使用率随流量大小降低 30%—60% 。
关于 Hertz 更多的信息可移步至 cloudwego/hertz
技术栈
| 功能 | 实现 |
|---|---|
| HTTP 框架 | Hertz |
| RPC 框架 | Kitex |
| 数据库 | MongoDB、MySQL |
| 配置中心 | Nacos |
| 服务发现中心 | Nacos |
| 消息队列 | RabbitMQ |
| 链路追踪 | Jaeger |
| 集群监控 | Prometheus |
| 限流中间件 | hertz-contrib/limiter |
| 部署 | docker-compose |
| 对象存储 | 腾讯云 COS |
| CI | GitHub Actions |
项目架构
调用关系


FreeCar是一个使用HertzHTTP框架和KitexRPC框架构建的全栈微服务项目。它涉及MongoDB、MySQL数据库,Nacos作为配置和服务发现中心,采用RabbitMQ处理消息队列,并利用Jaeger进行链路追踪,Prometheus进行监控。项目包括API网关、用户认证、图片服务、汽车服务和行程服务等多个模块,支持Docker部署和COSC对象存储。开发指南提供了Kitex和Hertz的使用说明。

1237

被折叠的 条评论
为什么被折叠?



