简介
本专题将带你使用 axum 和 gRPC 构建一个分布式的博客系统数据结构与Protobuf
本章对我们项目的数据结构和proto进行定义实现分类服务
本章我们实现分类服务,即 `category-srv`实现文章服务
本章将带你实现文章的 gPRC 服务。实现前台web服务
本章将通过使用 axum 调用分类和文章的 gRPC 服务,来实现博客前台Web服务实现管理员服务
本章我们将实现管理员服务实现后台管理web服务
本章将使用 axum 调用 gRPC 服务来实现后台管理的 web 服务安全与鉴权
本章将讨论使用jwt进行鉴权服务扩容、注册、发现和编排
本章将讨论服务管理相关的话题配置中心服务
本章讨论配置中心的实现总结
本专题试图通过一个分布式博客的案例来探讨使用 rust 实现 gRPC 微服务架构的可行性
服务扩容、注册、发现和编排
服务扩容
比如,文章服务太火爆了,单个服务无法处理。这时候,你需要进行服务扩容。得益于我们的架构,我们把每个服务都独立实现,所以你可以将文章服务部署多份,然后引入负载均衡中间件(nginx支持grpc,所以你可以先尝试使用nginx反代grpc服务实现负载均衡)。
由于我们的服务是对应特定的数据库,比如文章服务对应topics
表所在的数据库,服务部署了多份,数据库怎么办?
服务注册与发现
服务注册与发现有很多实现,比如本专题推荐的consul。
如果你是通过 docker 来部署微服务,那么使用 docker compose 进行服务编排将会大幅提高你的生产力。