当前位置: 首页 > wzjs >正文

做网站用php如何学习网页源码提取工具

做网站用php如何学习,网页源码提取工具,南京正规小程序开发公司,wordpress域名地址设置方法目录 一、目的 二、Ocelot介绍 三、.Net中使用Ocelot搭建网关服务 3.1 搭建网关Ocelot步骤 3.1.1、创建Net7 WebApi服务 3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2) 3.1.3、配置中间件和IOC注册 3.1.4 配置文件编辑Ocelot网关配置信…

目录

一、目的

二、Ocelot介绍

三、.Net中使用Ocelot搭建网关服务

3.1 搭建网关Ocelot步骤

 3.1.1、创建Net7 WebApi服务

3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2)

3.1.3、配置中间件和IOC注册

3.1.4 配置文件编辑Ocelot网关配置信息

3.2 Ocelot相关配置

3.2.1 单地址访问

3.2.2 多地址访问

3.2.3 单地址多实例负载均衡

3.2.4 负载均衡+Consul(服务发现)

四、文章总结


一、目的

         在微服务架构中,网关作为系统的统一入口,承担着路由转发、负载均衡、安全控制等核心功能,是确保系统高效运行的关键组件。市面上一些主流网关:Kong、Envoy、Spring Cloud Gateway、Bumblebee、Ocelot(C#开源-微软-腾讯---Abp.vnext内置)。

        这里主要讲解通过Ocelot设计微服务Api网关。

    二、Ocelot介绍

            Ocelot网关是一款基于.NET Core开发的开源API网关,专为微服务架构设计,其主要作用包括统一管理客户端请求、提升系统安全性和可维护性‌.

        网关的作用包括:

    1. 请求路由‌:通过配置文件定义路由规则,将客户端请求动态转发到对应的下游服务,支持路径占位符(如/{userId})和通配符匹配‌。
    2. 负载均衡‌:集成轮询、随机、最少连接数等算法,分发请求到多个服务实例,提高可用性和性能‌。
    3. 服务发现‌:自动集成Consul或Eureka等注册中心,实时发现服务地址,减少手动配置负担‌。
    4. 认证与授权‌:支持JWT、OAuth2等认证方式,实现统一身份验证和基于角色的访问控制(RBAC),保障资源安全‌。
    5. 限流与熔断‌:采用令牌桶算法限制请求速率,防止服务过载;熔断机制在服务故障时快速失败,避免级联崩溃‌。
    6. 请求聚合‌:合并多个下游服务的响应为单一结果,减少客户端请求次数,优化用户体验‌。
    7. 日志与监控‌:记录请求日志和性能指标,支持与Serilog、Prometheus等工具集成,便于运维分析和优化‌。
    8. 统一入口‌:作为微服务架构的单一接入点,屏蔽后端服务复杂性,降低客户端与服务间的耦合度‌。

    三、.Net中使用Ocelot搭建网关服务

    3.1 搭建网关Ocelot步骤

     3.1.1、创建Net7 WebApi服务

    3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2)

            dotnet add packages Ocelot

    3.1.3、配置中间件和IOC注册

    //配置Ocelot中间件设置和注册到Ioc
    builder.Services.AddOcelot();//使用Ocelot中间件
    app.UseOcelot();

    3.1.4 配置文件编辑Ocelot网关配置信息

    为了便于区分,新增一个configuration配置文件用来编辑Ocelot网关相关信息。

    创建了配置文件就需要在重新读取配置文件,appsettings是默认读取的,这里需要在读取configuration中的内容:

    builder.Configuration.AddJsonFile("configuration.json", true, true);

    3.2 Ocelot相关配置

            Ocelot在注册服务到Ioc时,AddOcelot方法在构建Ocelot服务时,对通过读取配置文件中的信息来设置相关服务。以下是几种常见的服务配置方式。

    3.2.1 单地址访问

            这里配置了单地址转发,通过配置文件定义路由规则,将请求动态转发到对应的下游服务,通过占位符"/Test80"和通配符访问。

    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 80 //服务端口} //http://127.0.0.1:80],"UpstreamPathTemplate": "/Test80/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]}]
    }

    3.2.2 多地址访问

          网关支持多个服务地址,转发请求。模拟客户端请求不同的服务示例。如:

    访问: https://网关ip:80/Test81/Test/Get

    //  //*****************************多地址********************************
    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 81 //服务端口}],"UpstreamPathTemplate": "/Test81/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]},{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 82 //服务端口}],"UpstreamPathTemplate": "/Test82/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]},{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 83 //服务端口}],"UpstreamPathTemplate": "/Test83/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]}]
    }

    3.2.3 单地址多实例负载均衡

            可以负载均衡,客户端请求网关时,会根据负载策略去匹配不同的示例。但是不能动态伸缩服务, 所以一般不会使用他来做负载均衡, 需要和Consul做集成。这种处理方式和nginx的负载很像。

    //*****************************单地址多实例负载均衡********************************
    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 81},{"Host": "127.0.0.1","Port": 82},{"Host": "127.0.0.1","Port": 83} //能负载均衡,但是不能动态伸缩, 需要结合Consul来完成],"UpstreamPathTemplate": "/Test/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ],"LoadBalancerOptions": {"Type": "RoundRobin" //轮询 // "LeastConnection" //最小连接数的服务器  "NoLoadBalance" //不负载均衡 }}]
    }

    3.2.4 负载均衡+Consul(服务发现)

            1、在网关中配置Consul,注册Consul到Ocelot中,引用Ocelot.Provider.Consul

    dotnet add package Ocelot.Provider.Consul

            2、配置Consul注册到Ocelot

    builder.Services.AddOcelot().AddConsul();

    ps:ocelot请求时,通过Consul获取的默认服务名称会通过本机名字匹配。默认请求时可能会出现通过consul访问对应服务节点的情况。(此处测试时Consul在window上运行)

    解决方案:启动Consul的node节点.此处写上服务端地址

    //设置node地址

    consul agent -dev -node=127.0.0.1

            3、Json配置内容

    //*****************************Consul服务发现
    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址--url变量"DownstreamScheme": "http","UpstreamPathTemplate": "/Test/{url}", //网关地址--url变量"UpstreamHttpMethod": [ "Get", "Post" ],"UseServiceDiscovery": true,"ServiceName": "TestService", //consul服务名称"LoadBalancerOptions": {"Type": "RoundRobin" //轮询 "LeastConnection-最少连接数的服务器NoLoadBalance不负载均衡"}}],"GlobalConfiguration": {//"BaseUrl": "http://127.0.0.1:6299", //网关对外地址"ServiceDiscoveryProvider": {"Host": "127.0.0.1","Port": 8500,"Type": "Consul" //由Consul提供服务发现,每次请求去consul}}
    }

    四、文章总结

            以上内容基本满足网关搭建的使用,本篇主要介绍基础的使用方式。Ocelot还有更多高级的用法,也会在后面的文章中慢慢补上。例如:Ocelot缓存、自定义负载均衡规则以及接入Polly的服务治理相关。

            欢迎大家多多交流~


    文章转载自:

    http://kWdVYwMU.kwnbd.cn
    http://hkdV9Qlm.kwnbd.cn
    http://12ElVMm7.kwnbd.cn
    http://mBwV5YqU.kwnbd.cn
    http://PZMOcrYU.kwnbd.cn
    http://M0JO25pd.kwnbd.cn
    http://mNaDmcy5.kwnbd.cn
    http://soSyQzdT.kwnbd.cn
    http://OBqcfEyt.kwnbd.cn
    http://GAvczdLw.kwnbd.cn
    http://OfK2rLUn.kwnbd.cn
    http://JNl0JvBv.kwnbd.cn
    http://J4LDGqH4.kwnbd.cn
    http://V1uNeOhd.kwnbd.cn
    http://O22U1sXc.kwnbd.cn
    http://WBD3KFa5.kwnbd.cn
    http://NrCyRNzm.kwnbd.cn
    http://UXac19vI.kwnbd.cn
    http://RZybrQYI.kwnbd.cn
    http://XzWP482O.kwnbd.cn
    http://cXfpq3BD.kwnbd.cn
    http://GGvTUjzS.kwnbd.cn
    http://6majHLKe.kwnbd.cn
    http://siNJ5Kc2.kwnbd.cn
    http://Zxd7clq4.kwnbd.cn
    http://6bFW0tiw.kwnbd.cn
    http://IVN38qkG.kwnbd.cn
    http://lEI7IxFq.kwnbd.cn
    http://L637AsFQ.kwnbd.cn
    http://8rT86IbV.kwnbd.cn
    http://www.dtcms.com/wzjs/730875.html

    相关文章:

  1. 金湖网站建设html5网页制作源代码
  2. seo怎么做自己的网站泉州网站seo外包公司
  3. ps做素材下载网站有哪些个人盈利网站怎么建立
  4. 红河州网站建设制作河北辛集市网站建设
  5. 在哪个网站可以做酒店预定单网站代备案管理系统
  6. 网站续费通知南通营销型网站建设
  7. 河北网站优化wordpress模板文件是那个
  8. 免费行情软件app网站大全下载有图片手机定制app
  9. 长春网站建设加q479185700云服务器怎么建设网站
  10. 海外网站建设推广网页制作是干嘛的
  11. 如何优化网站图片晶鹰建设摩托车官网
  12. 800多块做网站网络移动公司的网站建设
  13. 沈阳定制网站开发专业服务好的网站设计制作
  14. 招聘销售员网站建设网络推广无锡工程建设信息网站
  15. 响应式高端网站江苏大才建设集团网站
  16. 自己如何建设校园网站杭州品牌网站建设公司
  17. 建设一个网站需要什么手续建设银行宁波招聘网站
  18. 电子商务网站的功能分析自己建设网站用哪个
  19. 嘉兴做网站公司个人网站开发可行性报告
  20. 网站建设搜索优环球易购做中东的网站
  21. 门户网站系统建设招标文件装修设计图免费软件
  22. 口腔医院网站优化服务商免费h5页面应用制作
  23. 网站开发可以用gif吗深圳福田 外贸网站建设
  24. 网站样式用什么做的汉阳网站推广优化
  25. 找人开发软件去什么网站申请网站域名多少钱
  26. 网站建设的目标与思路泰安微网站建设
  27. 大连做网站的中海建筑建设有限公司网站
  28. 织梦网站栏目增加2023年生鲜电商交易规模超6000亿
  29. 网站和服务器是什么关系wordpress统计蜘蛛
  30. 网站做全好吗百度优化 几个网站内容一样