.net core 微服务项目-介绍篇

项目介绍

1、各种方式连接API都会连接到 APIGateway 来进行统一的分发 Ocelot

2、当api需要授权时 需要请求授权服务 IdentityServer4

3、授权服务对请求进行调用user.api 验证

4、user.api验证结果返回

5、授权服务返回token信息或授权失败

6、携带token访问user.api

7、user.api返回结果 (401,403是未授权)

8、访问不需要授权的user.api

9、api之间的交互 Polly

10、api之间通过EventBus交互RabbitMQ  Publish   RabbitMQ   CAP

11、api之间通过EventBus交互RabbitMQ Subscribe

12、Consul进行整个微服务的注册和发现  Consul

13、数据库 Sqlserver MySQL Redis MongoDB

14、部署Linux 使用docker容器化微服务  Nginx发布   Ubuntu  Docker  Nginx

参考文档

Ocelot文档   https://ocelot.readthedocs.io/en/latest/index.html

IdentityServer4文档  http://docs.identityserver.io/en/latest/

Polly 文档  https://github.com/App-vNext/Polly/wiki

RabbitMQ 文档 https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html

其他参考抽空整理(或者写在之后的具体模块博客中)

视频推荐

solenovex  博客  https://www.cnblogs.com/cgzl/category/1090036.html (bilibili 搜名字有.net core 教学视频 顶)

jessetalk   视频  http://video.jessetalk.cn/ (我的项目就是按照他的视频开发的)

现在我也在边学习边整理的状态 可以按照上面的视频教学 配合这官方文档一起学习

我已经做了一部分了

https://github.com/Henry-Net/NewDistributedProject

项目运行的话吧所有里面的地址和端口改一下 并且user.api 的交互可能报错 因为需要安装consul

原文地址:https://www.cnblogs.com/Henryblogs/p/11417498.html

时间: 2024-09-28 08:34:52

.net core 微服务项目-介绍篇的相关文章

.Net Core 商城微服务项目系列(四):ELK

毫无疑问,项目里日志是必不可少的,在众多日志框架里ELK可以说是最好的选择之一,对于微服务项目来说也是一样. 之前写过关于ELK搭建的文章,所以这篇也就不再介绍了,本篇将会使用NLog搭配ElasticSearch和Kibana构建日志框架,本来是有Logstash的,但是接入Logstash后日志总是发送不成功,所以本篇将暂时不使用Logstash,等后面找到具体什么问题后再进行修改,最终整体的日志架构会是NLog+ELK+Kafka. 运行ELK有两种方式,一种是分别单独运行ElasticS

.Net Core 微服务容器系列基础目录篇

1.开场白 HI,各位老铁,大家端午好,之前写了些关于.net core商城系列的文章,有点乱,今天心血来潮想着整理一下(今天只是先把目录列出来,后面的每篇文章这两天会进行重新修改的,目前先将就看下). 简单介绍一下,博主目前就职于某电商公司,目前工作用的是.net core,业余时间也会看下Java,公司内部目前也是多语言并存,毕竟很多工具和技术对于这两种语言都是相通的,所以多了解下哈. 本系列项目将会以.net core+Docker+K8s来搭建,当然你用java来改写一下也是没问题的,因

.Net Core 商城微服务项目系列(一):使用IdentityServer4构建基础登录验证

这里第一次搭建,所以IdentityServer端比较简单,后期再进行完善. 1.新建API项目MI.Service.Identity,NuGet引用IdentityServer4,添加类InMemoryConfiguration用于配置api和客户端资源: public class InMemoryConfiguration { public static IConfiguration Configuration { get; set; } /// <summary> /// Define

.NET Core微服务之基于Consul实现服务治理

一.Consul基础介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb的SmartStack等相比,Consul的方案更"一站式",内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等),使用起来也较 为简单. Consul用Golang实现,因此具有天然可移植性(支持Linux.windows和Ma

.NET Core微服务之ASP.NET Core on Docker

Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Docker极简介绍 1.1 总体介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低. 简而言之> 容器是一个打包了应用服务的环境,它是一

.NET Core微服务之基于Ocelot实现API网关服务(续)

一.负载均衡与请求缓存 1.1 负载均衡 为了验证负载均衡,这里我们配置了两个Consul Client节点,其中ClientService分别部署于这两个节点内(192.168.80.70与192.168.80.71). 为了更好的展示API Repsonse来自哪个节点,我们更改一下返回值: [Route("api/[controller]")] public class ValuesController : Controller { // GET api/values [Http

基于.net core 微服务的另类实现

原文:基于.net core 微服务的另类实现 基于.net core 的微服务,网上很多介绍都是千篇一律基于类似webapi,通过http请求形式进行访问,但这并不符合大家使用习惯.如何像形如[ GetService<IOrderService>().SaveOrder(orderInfo)]的方式, 调用远程的服务,如果你正在为此苦恼, 本文或许是一种参考. 背景 原项目基于传统三层模式组织代码逻辑,随着时间的推移,项目内各模块逻辑互相交织,互相依赖,维护起来较为困难.为此我们需要引入一种

.net core ——微服务内通信Thrift和Http客户端响应比较

原文:.net core --微服务内通信Thrift和Http客户端响应比较 目录 1.Benchmark介绍 2.测试下微服务访问效率 3.结果 引用链接 1.Benchmark介绍 wiki中有定义:基准测试是运行计算机程序,一组程序或其他操作的行为,以便评估对象的相对性能,通常是通过对其运行许多标准测试和试验. 目前许多成熟的github开源项目,均采用Benchmark测试结果作为性能依据.在 .net 代码世界中,当然是使用 BenchmarkDotNet类库. 其支持 : 编程环境

.NET Core微服务系列基础文章

今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了一个感性的认识.虽然只做了两个月的开发工作,但是对微服务架构的兴趣却没有结束,又因为自己的.NET背景(虽然对.NET的生态有点恨铁不成钢),想要探索一下在.NET平台下的微服务架构的可行性,也准备一些材料作为分享的素材. 幸运的是,在.NET Core首届在线峰会上,看到了很多前辈的分享,也增强了自己要摸索和实践.NET Co