搭建微服务

搭建微服务

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

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_1584 小时前
如何将 Redis 监控集成到微服务整体的监控体系中( 如 Prometheus + Grafana)
redis·微服务·prometheus
非极限码农5 小时前
基于Deepseek的语言润色助手API实现与部署指南
python·微服务·自然语言处理
null不是我干的12 小时前
微服务消息队列之RabbitMQ,深入了解
微服务·rabbitmq·java-rabbitmq
●VON13 小时前
重生之我在暑假学习微服务第七天《微服务之服务治理篇》
java·学习·微服务·云原生·nacos·架构·springcloud
曾经的三心草15 小时前
微服务的编程测评系统9-竞赛新增-竞赛编辑
微服务·架构·状态模式
Code季风17 小时前
从超卖到数据一致:分布式锁的最佳实践与演进历程
分布式·微服务·go
Code季风17 小时前
深入理解 Redis 分布式锁:实现互斥保障的最佳实践
redis·分布式·微服务
你我约定有三1 天前
分布式微服务--万字详解 微服务的各种负载均衡全场景以注意点
java·开发语言·windows·分布式·微服务·架构·负载均衡
77qqqiqi1 天前
解决Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required报错问题
java·数据库·微服务·mybatis·mybatisplus
慌糖1 天前
以微服务为基础搭建一套脚手架开始前的介绍
微服务·云原生·架构