Consul+Ocelot+.Net Core Api+IdentityServer4(二)

ASP.NET Core微服务框架Ocelot+Consul+IdentityServer4实战演练 一、背景介绍 API网关的流行源于最近几年移动应用与企业间接口对接的兴起,使得原来单一的PC客户端,变化到PC客户端、各种浏览器、手机移动端及智能终端等。同时系统之间大部分都不是单独运行,经常会涉及与其他系统对接、共享数据的需求。随着微服务架构概念的提出,API网关成为了微服务架构的一个标配组件。随着业务快速发展,面向手机移动应用业务越来越多,为了减少客户端与服务的耦合,节约后端微服务的开发成本... 阅读详情

建立项目

  1. 新建Asp.net core Web 空项目,命名 OcelotService
    创建空项目
  2. 添加Nuget包 - Ocelot.Provider.Consul
    菜单:工具 / Nuget包管理器 / 管理解决方案的 Nuget 程序包
    Ocelot.Provider.Consul
    如图所示,在浏览标签中输入Ocelot.Provider.Consul,检索出对应的包后,点击安装

添加配置

新建一个 CoelotConfig.json 文件

{
  "ReRoutes": [
    {
      "DownstreamPathTemplate": "/api/{url}",//下游地址模板,转发模板
      "DownstreamScheme": "http",//下游转发协议
      "UpstreamPathTemplate": "/ApiA/{url}",//上游匹配模板
      "UpstreamHttpMethod": [ "Get", "Post" ],//上游匹配协议
      "UseServiceDiscovery": true,//是否进行服务发现
      "ServiceName": "ApiA", //服务名称
      "LoadBalancerOptions": { 
        "Type": "RoundRobin" //负载均衡,转徇
      }
    },
    {
      "DownstreamPathTemplate": "/api/{url}",
      "DownstreamScheme": "http",
      "UpstreamPathTemplate": "/ApiB/{url}",
      "UpstreamHttpMethod": [ "Get", "Post" ],
      "UseServiceDiscovery": true,
      "ServiceName": "ApiB",
      "LoadBalancerOptions": {
        "Type": "RoundRobin"
      }
    }
  ],
  "GlobalConfiguration": {//服务发现配置
    "ServiceDiscoveryProvider": {
      "Host": "localhost",
      "Port": 8500,
      "Type": "Consul"
    }
  }
}

载入配置文件

修改 Program.cs 文件

namespace OcelotService
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration(config=>config.AddJsonFile("OcelotConfig.json", true, true))
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}

注意:如果 AddJsonFile 方法不存在,引入 Microsoft.Extensions.Configuration.Json
Nuget包

启动 Ocelot 服务

修改 Startup.cs 文件

public class Startup
{
    // This method gets called by the runtime. Use this method to add services to the container.
    // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddOcelot().AddConsul();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRouting();

        app.UseOcelot().Wait();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapGet("/", async context =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        });
    }
}

致此,Ocelot 服务配置完成。

ASP.NET Core微服务架构之Ocelot从基础入门到实战 一、课程介绍 微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 随着.NET Core的关注度持续上升, 微服务及云原生应用开发上采用.NET Core也越来越多,... 阅读详情

相关推荐

微服务》》NetCore Consul动态伸缩+Ocelot 网关 缓存 自定义缓存 + 限流、熔断、超时 等服务治理 + ids4鉴权

【代码】NetCore Consul动态伸缩+Ocelot 网关。

Kaizen的博客 759

Asp .Net Core 系列:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现

Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的微服务。路由管理:Ocelot允许您定义路由规则,将请求路由到正确的微服务。认证和授权:Ocelot支持多种认证机制,如JWT、OAuth等,并允许您定义访问控制策略,确保只有授权的用户才能访问特定的API。

程序人生 2836

Qt 插件开发 plugin 超详细 有源码

Qt 插件化开发框架类似于前后端的微服务的场景,授权哪个微服务则前端可以使用哪个微服务,插件就行硬件插卡一样,可以被随时删除、插入和修改,所以结构很灵活,容易修改,方便软件的升级和维护;插件主要面向接口编程,无需访问.lib文件,热插拔、利于团队开发。即使在程序运行时.dll不存在,也可以正常启动,只是相应插件功能无法正常使用而已;动态库需要访问.lib文件,而且在程序运行时必须保证.lib存在,否则无法正常启动;

q610098308的专栏 6546

探索Ocelot.Provider.Nacos: 微服务时代的API网关与配置中心集成

探索Ocelot.Provider.Nacos: 微服务时代的API网关与配置中心集成 在微服务架构中,API网关是一个关键组件,它扮演着接口统一管理、路由转发、负载均衡的角色。而Nacos是阿里巴巴开源的一款分布式服务发现和配置管理工具。当这两个优秀项目结合在一起时,便诞生了Ocelot.Provider.Nacos。这是一个将Nginx Ocelot(一个用于构建API网关的高性能库)与Nac...

gitblog_00046的博客 656

用RFSoC ZU47DR搭建软件无线电原型:从零配置Vivado到生成第一个射频信号

本文详细介绍了如何使用Xilinx RFSoC ZU47DR开发板搭建软件无线电原型系统,从Vivado环境配置到生成首个射频信号的全流程。通过整合ARM处理器、FPGA逻辑和高速ADC/DAC,该平台为通信算法验证提供了高效解决方案,特别适合SDR开发者和通信工程师快速实现原型设计。

weixin_26763955的博客 591

ZEMAX学习第7天-手机镜头光学系统设计全过程案例

接下来对系统微调,依次缩小CRA和畸变,首先对CRA进行依次递减(39°、38°、37°、36°、35°),目前CRA角度40度,每次下降一度进行优化,利用MAXX加OPLT一起控制,控制小于35°。可以看出在标注的三个地方镜头曲率变化,导致PY=1的光线走向奇特,因此需要对矢高进行调整,按照标注的地方依次调整(从右到左)至传函变好,越靠近右边对其余视场影响越小。3.圆锥系数值较大,透镜形状怪异;一、第1,3镜子偏厚,第4镜子偏薄,45镜子间隔边缘偏小,第5片镜子中心厚度与边缘厚度相差较大,需要控制;

liningliwei的博客 1073

Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现

Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的微服务。路由管理:Ocelot允许您定义路由规则,将请求路由到正确的微服务。认证和授权:Ocelot支持多种认证机制,如JWT、OAuth等,并允许您定义访问控制策略,确保只有授权的用户才能访问特定的API。

主宰 2160

数字孪生成熟度的L0-L4五级划分,各自特征和应用场景

数字孪生的分级(或成熟度模型)通常用于描述其技术复杂度和功能完备性的演进过程。3D设计模型(CAD)、建筑信息模型(BIM)、产品数字化手册。全自动驾驶系统、自适应智能电网、 “黑灯工厂”的自主调度。多学科模型融合、 “What-if”分析、提供决策建议。IoT设备监控平台、预测性维护(报警)、智慧仪表盘。工艺仿真优化、资产性能管理、手术方案预演、虚拟调试。状态监控、历史回溯、阈值报警、根因分析。可视化、数字化档案。自优化、自适应、目标驱动、高度自治。传统设备、纸质记录的管理模式。无或仅有离线、孤立数据。

2401_82881178的博客 1553

一日一技:在Ocelot网关中统一配置Swagger

概述Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。在Ocelot网关中,我们提供给前端的直接是Swagger,如果Swagge...

dotNET跨平台 1797

EtherCAT主站SOEM -- 0 -- 该EtherCAT主站SOEM专栏后续安排

SOEM(Simple Open EtherCAT Master)是一个开源的EtherCAT主站库,允许开发者构建自定义的EtherCAT主站应用程序。EtherCAT是一种实时以太网通信协议,广泛应用于工业自动化和机器控制领域。开源性质:SOEM是一个开源项目,这意味着开发者可以自由地查看、修改和分发代码。这使其成为工业自动化领域的一个强大工具,可以根据具体需求进行定制。EtherCAT主站实现:SOEM库提供了一个完整的EtherCAT主站实现,允许主站与多个EtherCAT从站设备进行通信。

常驻客栈的博客--嵌入式EtherCAT 6667

2025_NIPS_Truthful Aggregation of LLMs with an Application to Online Advertising

大型语言模型(LLMs)生成内容的 revenue 变现是在线广告的下一个前沿领域。我们考虑这样一种场景:广告商旨在影响LLM的回复,而平台则寻求最大化广告商价值并确保用户满意度。核心挑战在于,广告商的偏好通常与用户偏好存在冲突,且广告商可能误报其偏好。为解决这一问题,我们提出MOSAIC——一种拍卖机制,它确保真实申报是广告商的占优策略,并使每个广告商的效用与其对社会福利的贡献保持一致。重要的是,该机制无需LLM微调或访问模型权重,且随着计算资源的增加,可证明收敛到最优微调LLM的输出。

c_cpp_csharp的专栏 81

Consul+Ocelot+.Net Core Api+IdentityServer4(三)

Ocelot+.NET Core Api

redmethod的博客 364

微信小程序数据采集实战:抓包+接口分析+动态数据全流程

微信小程序爬虫虽然比普通网页爬虫复杂,但只要掌握了正确的方法,其实并没有想象中那么难。核心思路就是:先绕过证书校验抓包,然后反编译小程序找到加密逻辑,最后用Python模拟相同的加密和解密过程。需要特别提醒的是,本文仅供技术研究使用。请遵守《网络安全法》和相关法律法规,不要爬取他人的敏感数据,不要将爬虫技术用于非法用途。尊重他人的知识产权和数据安全,才能让技术发挥真正的价值。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1093

.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现

先决条件 关于 Ocelot 针对使用 .NET 开发微服务架构或者面向服务架构提供一个统一访问系统的组件。 参考 本文将使用 Ocelot 构建统一入口的 Gateway。 关于 IdentityServer4 IdentityServer4 是一个 OpenID Connect 和 OAuth 2.0 框架用于 ASP.NET Core 。IdentityServer4 在你的应用程序...

weixin_30908103的博客 889

手把手教你学PCIE(11.3)--pcie的认证和合规性测试

PCIe 设备的认证和合规性测试是确保设备正常工作和达到预期性能的关键步骤。通过使用 PCI-SIG 提供的测试工具和第三方测试工具,可以全面评估 PCIe 设备的物理层、链路层、事务层和互操作性,确保设备符合行业标准和规范。

MHD0815的博客 1360

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

NET Core + Ocelot + IdentityServer4 + Consul

NET Core + Ocelot + IdentityServer4 + Consul 原文:NET Core + Ocelot + IdentityServer4 + Consul.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现 先决条件 关于 Ocelot 针对使...

weixin_30879833的博客 203

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo的入门级微服务开发框架

Github源代码地址 https://github.com/PeyShine/Demo.MicroServer Apollo配置中心 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 由于各个项目配置都需要读取基础的配置信息,这边在内网的Centos(101)上部署了Apollo的环境,并为项目添加了一些基础配置信息,配置如图 Consul C.

Peyshine 1265

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

.NET CORE 微服务架构--网关篇(Ocelot)

Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要简单的配置即可完成,下面我们会对这些功能的配置一一进行说明。 介绍 简单的来说Ocelot是一堆的asp.net coremiddleware组成的一个管道。当它拿到请求之后会用一个request builder来构造一个HttpRequestMessage发到下游.

落花流水 6862

Consul+Ocelot+.Net Core Api+IdentityServer4(四)

IdentityServer4配置服务项目建立修改配置文件读取IdentityServer4配置信息修改Startup.cs类,启动IdentityServer4及向Consul注册修改ConfigureServices方法Configure方法

redmethod的博客 564

【转】.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现

作者:Zhang_Xiang 原文地址:.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现 先决条件 关于 Ocelot 针对使用 .NET 开发微服务架构或者面向服务架构提供一个统一访问系统的组件。参考 本文将使用 Ocelot 构建统一入口的 Gateway。 关于 IdentityServer4 ...

weixin_30687587的博客 175

.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现 ...

.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现 先决条件 关于 Ocelot 针对使用 .NET 开发微服务架构或者面向服务架构提供一个统一访问系统的组件。参考 本文将使用 Ocelot 构建统一入口的 Gateway。 关于 IdentityServer4 IdentityServ...

测试0901-1 399

[Hei-Ocelot-Gateway ].Net Core Api网关Ocelot的开箱即用版本

写在前面很多neter都有在用Ocelot做Api网关,但是Ocelot又不像kong或者其他网关一样,开箱即用。它需要你单独开一个web项目来部署,这样很多同学都在做重复的事了。这里...

dotNET跨平台 467

如何快速上手Ocelot:.NET API网关完整安装与使用指南

Ocelot是一个专为ASP.NET设计的开源API网关,支持.NET 6.0、7.0和8.0框架。它能够帮助开发者轻松实现路由、负载均衡、认证授权等功能,是构建微服务架构的理想选择。本文将带你快速掌握Ocelot的安装配置与基础使用方法。 ## 🚀 准备工作:环境要求 在开始前,请确保你的开发环境满足以下条件: - .NET 6.0/7.0/8.0 SDK - ASP.NET Core运行

gitblog_00490的博客 464
上一篇: Consul+Ocelot+.Net Core Api+IdentityServer4(一)
下一篇: Consul+Ocelot+.Net Core Api+IdentityServer4(三)
redmethod
博客等级 码龄14年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值