zoukankan      html  css  js  c++  java
  • Ocelot 新手上路

    新手上路,老司机请多多包含!Ocelot 在博园里文章特别多,但是按照其中一篇文章教程,如果经验很少或者小白,是没法将程序跑向博主的结果.

    因此总结下     参考多篇文章,终于达到预期效果。

     Ocelot   目标是使用.NET运行微服务/面向服务架构,我们需要一个统一的入口进入我们的服务,提供监控、鉴权、负载均衡等机制,也可以通过编写中间件的形式,来扩展Ocelot的功能。  Ocelot是一堆特定顺序的中间件。

     Ocelot开源地址:https://github.com/TomPallister/Ocelot

     

    分别创建三个API

    1.ApiGateway

    2.WebApiA

    3.WebApiB

    以 APIGateway 项目 Nuget控制台,执行Ocelot安装。

    PM>Install-Package Ocelot    按回车等待安装

    如果看到这种情况  恭喜你   环境基本就绪  咱们开始走上编码

    1、APIGateway修改Startup

    
    

    public class Startup
    {

    
    


    public Startup(IConfiguration configuration)
    {
    Configuration = configuration;
    }

    
    


    public IConfiguration Configuration { get; }

    
    


    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {

    
    

    services.AddMvc();
    services.AddOcelot(new ConfigurationBuilder()
    .AddJsonFile("configuration.json")
    .Build());

    
    

    }

    
    


    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public async void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {

    
    

    if (env.IsDevelopment())
    {
    app.UseDeveloperExceptionPage();
    }

    
    

    await app.UseOcelot();

    
    

    app.UseMvc();

    
    

    }

    
    

    }

     

    添加命名空间

    using Ocelot.DependencyInjection;
    using Ocelot.Middleware;

    3.ocelot.json 添加json

    配置如下:

    {
    "ReRoutes": [
    {
    "DownstreamPathTemplate": "/api/values",
    "DownstreamScheme": "http",
    "DownstreamHostAndPorts": [
    {
    "Host": "localhost",
    "Port": 5001
    }
    ],
    "UpstreamPathTemplate": "/webapia/values",
    "UpstreamHttpMethod": [ "Get" ]
    },
    {
    "DownstreamPathTemplate": "/api/values",
    "DownstreamScheme": "http",
    "DownstreamHostAndPorts": [
    {
    "Host": "localhost",
    "Port": 5002
    }
    ],
    "UpstreamPathTemplate": "/webapib/values",
    "UpstreamHttpMethod": [ "Get" ]
    }
    ]
    }

    4.分别修改   launchSettings.json

    1.ApiGateway   5000

    2.WebApiA        5001

    3.WebApiB        5002

    修改两个地方就好

     

     最后设置启动项   鼠标  选中解决方案  右键  选择设置启动项

     

    配置完成  看看效果F5 跑起来

    大家会发现  为什么

    http://localhost:5000/api/values  报错了

    那是因为我们配置

    因此这个地方  访问咱们需要换一个链接

    http://localhost:5000/webapib/values

    http://localhost:5000/webapia/values

     看步骤大家应该就能猜到为什么会这样运行,具体原理  可以看博园中大神们的注解

  • 相关阅读:
    友盟上报 IOS
    UTF8编码
    Hill加密算法
    Base64编码
    Logistic Regression 算法向量化实现及心得
    152. Maximum Product Subarray(中等, 神奇的 swap)
    216. Combination Sum III(medium, backtrack, 本类问题做的最快的一次)
    77. Combinations(medium, backtrack, 重要, 弄了1小时)
    47. Permutations II(medium, backtrack, 重要, 条件较难思考)
    3.5 find() 判断是否存在某元素
  • 原文地址:https://www.cnblogs.com/xiaobai123/p/9156143.html
Copyright © 2011-2022 走看看