搭建微服务

搭建微服务

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

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

提供新闻浏览和发布服务

相关推荐
const_qiu2 分钟前
微服务测试策略:端到端质量保障
微服务·云原生·架构
掘根3 小时前
【微服务即时通讯】消息存储子服务1
微服务·架构·语音识别
indexsunny3 小时前
互联网大厂Java面试:从Spring Boot到微服务的逐步挑战
java·数据库·spring boot·redis·微服务·面试·电商
爱吃萝卜的美羊羊4 小时前
ruoyi-cloud微服务跨服务调用实例接口
微服务·架构·ruoyi-cloud
人间打气筒(Ada)5 小时前
go实战案例:如何基于 Conul 给微服务添加服务注册与发现?
开发语言·微服务·zookeeper·golang·kubernetes·etcd·consul
تچ快乐杂货店يچ8 小时前
基于前后端分离的在线考试系统(微服务架构 + RBAC权限 + AI助手)
java·vue.js·spring boot·spring cloud·微服务·架构·typescript
weixin_456321648 小时前
微服务注册与发现实战:Eureka vs Nacos 优缺点剖析+工作原理+最佳实现
微服务·eureka·架构
renhongxia19 小时前
唤醒过去:利用记忆模拟机器人流动唤醒效应
人工智能·微服务·架构·机器人·知识图谱
sunwenjian8861 天前
微服务搭建----springboot接入Nacos2.x
spring boot·微服务·架构
步步为营DotNet1 天前
全面解读C# 14在云原生微服务开发中的创新应用
微服务·云原生·c#