搭建微服务

搭建微服务

下面通过示例一步步搭建一个分布式微服务

1. 业务场景

假设有一个业务场景是要实现一个会员在线浏览新闻的应用,支持手机和PC端。

分析了详细需求,把项目拆分成三个微服务:

  1. 会员注册微服务;
  2. 会员授权微服务;
  3. 浏览新闻微服务;

2. 框架简图

如图所示:

client 是调用 api 的主体,用 postman 模拟

Service Discovery Server 保存已注册服务的地方,供 Server 注册服务和 ApiGateway 发现服务, 用 consul

ApiGateway 提供一个访问微服务统一的对外网关, 外部用 http 通过网关调用开放的接口,网关内部调用微服务用 RPC,网关还提供服务治理和管理等其他功能,用 Asp.Net Core Web 实现

Server 微服务的宿主,用 .Net Core 的控制台应用实现

3. 微服务说明

会员授权微服务:Authorize Server

提供授权服务,用户使用会员的用户名和密码获取 token, 带着 token 访问受保护的接口,如浏览和发布新闻。

会员注册微服务:Register Server

提供会员注册服务,用户必须注册成会员才能享受应用提供的服务,如浏览和发布新闻, 但有些服务又需要指定角色的会员才能操作,如所有会员都可以浏览新闻,只有管理员(admin)角色的会员才可以发布新闻。

浏览和发布新闻微服务:News Server

提供新闻浏览和发布服务

相关推荐
坐看风云变幻6 小时前
《系统架构师成长之路》第 8 期|微服务:单体拆分的时机、粒度与通信
微服务·架构·系统架构
Song_RsHt6 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
张彦峰ZYF15 小时前
拆得开不等于该拆开:微服务与模块化单体的边界判据、规模阈值、团队适配与一致性代价
后端·微服务·边界是否稳定·扩展天花板是否到顶·有无小组能独立值班·独立部署的自由会否被用上·这一刀是否切断不可降级的不变量
喵了几个咪1 天前
GoWind Admin 拆解:一个 Sender 接口接 39 个通知渠道
微服务·golang·go·1024程序员节·admin·gowind
RuoyiOffice2 天前
Flowable 状态通知设计:单体用本地事件,微服务如何回写业务状态?
spring boot·微服务·vue3·flowable·ruoyi office·redis stream·流程状态通知
GlobalInfo2 天前
上新 | 全球及中国起重机摄像系统行业研究报告(2026版):市场现状、行业前景与占有率分析
大数据·分布式·微服务·ai·相机
利威尔xu2 天前
Go IM 源码实战(2):WebSocket 握手 11 步,少 1 个参数连不上
后端·websocket·微服务·面试·golang
samforce3 天前
为什么微服务会退化成“分布式单体”?——软件架构里的嵌套率传导定律
人工智能·分布式·微服务·架构·软件架构·结构认知
我不会起名字3223 天前
gRPC 拦截器写错:metadata 透传与超时注入的 3 个坑
微服务·go·grpc·拦截器
yz_aiks3 天前
RestTemplate 废弃后迁移 RestClient 实战:Spring Boot 4.2 升级指南
java·spring boot·后端·微服务·restclient