搭建微服务

搭建微服务

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

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

提供新闻浏览和发布服务

相关推荐
米丘2 天前
微前端之 Web Components 完全指南
微服务·html
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
霸道流氓气质5 天前
Spring Boot 微服务性能优化完全指南
spring boot·微服务·性能优化
地瓜伯伯5 天前
从MESI缓存一致性协议讲透synchronized的底层
java·spring boot·spring·spring cloud·微服务·springcloud
Devin~Y5 天前
大厂 Java 面试实录:从音视频内容社区到 AI RAG 的全链路技术设计
java·spring boot·redis·spring cloud·微服务·kafka·音视频
递归尽头是星辰5 天前
AI 访问数据仓库:从直连到微服务化
数据仓库·人工智能·微服务·dataagent·ai数据治理
就改了5 天前
Windows 环境 SkyWalking 完整实操教程
windows·微服务·skywalking
至乐活着5 天前
Docker Compose多服务编排实战:从零搭建Node.js+MySQL+Redis全栈应用
docker·微服务·devops·容器编排·compose
就改了5 天前
微服务异步场景链路断裂完整解决方案
微服务·云原生·架构
山东点狮信息科技有限公司6 天前
点狮OA-企业级 OA 办公自动化系统架构设计与实践
spring cloud·微服务·性能优化·架构·系统架构