搭建微服务

搭建微服务

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

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

提供新闻浏览和发布服务

相关推荐
bing_1588 小时前
为什么选择 Spring Boot? 它是如何简化单个微服务的创建、配置和部署的?
spring boot·后端·微服务
三个蔡10 小时前
Java求职者面试:从Spring Boot到微服务的技术深度探索
java·大数据·spring boot·微服务·kubernetes
LKAI.12 小时前
k8s存储动态供给StorageClass
docker·微服务·云原生·容器·kubernetes
repetitiononeoneday12 小时前
微服务基础-Ribbon
微服务·ribbon·架构
白泽talk1 天前
2个小时1w字| React & Golang 全栈微服务实战
前端·后端·微服务
MaCa .BaKa1 天前
35-疫苗预约管理系统(微服务)
spring boot·redis·微服务·云原生·架构·springcloud
代码拾光2 天前
微服务之间有哪些调用方式?
微服务·架构设计
南客先生2 天前
5G融合消息PaaS项目深度解析 - Java架构师面试实战
java·微服务·高并发·paas·分布式系统·缓存策略·5g融合消息
喵叔哟2 天前
16.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Github Action
微服务·github·.net
南客先生2 天前
Java在云计算、大数据、云原生下的应用和优势 - 面试实战
java·大数据·微服务·云原生·云计算·容器化·分布式计算