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

气动科技东莞网站建设wordpress文章分段

气动科技东莞网站建设,wordpress文章分段,海淀网站建设公司,网站开发 报价上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍#xff0c;今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能。希望能对大家有所帮助。作者#xff1a;依乐祝原文地址#xff1a;https://www.cnblogs.com/yilezhu/p/9695639.html请求聚合Ocelot允… 上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能。希望能对大家有所帮助。作者依乐祝原文地址https://www.cnblogs.com/yilezhu/p/9695639.html请求聚合Ocelot允许你声明聚合路由这样你可以把多个正常的ReRoutes打包并映射到一个对象来对客户端的请求进行响应。比如你请求订单信息订单中又包含商品信息这里就设计到两个微服务一个是商品服务一个是订单服务。如果不运用聚合路由的话对于一个订单信息客户端可能需要请求两次服务端。实际上这会造成服务端额外的开销。这时候有了聚合路由后你只需要请求一次聚合路由然后聚合路由会合并订单跟商品的结果都一个对象中并把这个对象响应给客户端。使用Ocelot的此特性可以让你很容易的实现前后端分离的架构。为了实现Ocelot的请求功能你需要在ocelot.json中进行如下的配置。这里我们指定了了两个正常的ReRoutes,然后给每个ReRoute设置一个Key属性。最后我们再Aggregates节点中的ReRouteKeys属性中加入我们刚刚指定的两个Key从而组成了两个ReRoutes的聚合。当然我们还需要设置UpstreamPathTemplate匹配上游的用户请求它的工作方式与正常的ReRoute类似。注意不要把Aggregates中UpstreamPathTemplate设置的跟ReRoutes中的UpstreamPathTemplate设置成一样。下面我们先上个实例例子先演示代码已经同步更新Github上。有兴趣的朋友可以查看源码https://github.com/yilezhu/OcelotDemo在开始实例前先把我们的ocelot Nuget包升级到最新的12.0.0版本当然你也可以不进行升级。这里需要注意一下如果你升级到12.0.0的版本的话那么你config.AddOcelot()的用法会发生改变需要传入参数config.AddOcelot(hostingContext.HostingEnvironment)1.为了演示的需要这里我们新增一个类库项目分别新建两个类一个是商品Good类一个是订单Order类这里只是为了演示的需要所以代码很简陋如下所示接下来我们给OrderApi以及GoodApi分别新建一个控制器并返回相应的实体。如下所示接下来我们分别在ocelot.good.json以及ocelot.order.json中新增一个路由并给出Keys.如下所示这里注意跟上篇文章中的路由不同的是这里多了一个Key属性。在ocelot.all.json中加入聚合配置如下所示注意这里Aggregates跟ReRoutes同级ReRouteKeys中填写的数组就是上面步骤3中设置的Key属性对应的值。我们分别运行起来三个项目然后访问接口地址http://localhost:1000/GetOrderDetail/1 会得到如下的聚合响应内容格式化后代码如下眼尖的朋友可能已经猜到了。聚合路由返回的内容就是json串。json串由ReRouteKeys组成每个Key的内容就是具体下游响应的内容了实例代码已经同步更新到Github上地址https://github.com/yilezhu/OcelotDemoOcelot将始终使用聚合请求返回内容类型application/json。还有需要注意的是聚合请求不会返回404请求。如果两个下游都返回404状态码的话这里聚合后的响应也不会返回404只会返回空的json串拿上面的实例如果两个下游都返回404的话那么他的响应代码类似下面这样{   Good: ,   Order: }如果下游服务返回404则聚合将仅为该下游服务返回任何内容。即使所有下游都返回404它也不会将聚合响应更改为404。服务发现Ocelot允许您指定服务发现提供程序并将使用它来查找Ocelot将请求转发到的下游服务的主机和端口。目前这仅在GlobalConfiguration部分中受支持这意味着相同的服务发现提供程序将用于为ReRoute级别指定ServiceName的所有ReRoutes。Consul在使用Consul前你首先要做的就是安装在Ocelot中提供Consul支持的NuGet包Install-Package Ocelot.Provider.Consul然后将下面的内容添加在ConfigureServices方法中services.AddOcelot()//注入Ocelot服务.AddConsul(); GlobalConfiguration中需要加入以下内容。如果您未指定主机和端口则将使用Consul默认值。注意如果你采用AddOcelot()这种方式来自动加载ocelot配置文件的方式那么你需要新建一个ocelot.global.json文件然后加入上面的配置如下所示这个上篇文章中已经进行了相关的介绍。为了告诉Ocelot ReRoute是为其主机和端口使用服务发现提供程序您必须在下游请求时添加要使用的ServiceName和负载均衡器。目前Ocelot可以使用RoundRobin和LeastConnection算法。如果未指定负载均衡器则Ocelot将不会对请求进行负载均衡。设置此项后Ocelot将从服务发现提供程序中查找下游主机和端口并跨任何可用服务进行负载平衡请求。动态路由作者的想法是在使用服务发现提供程序时启用动态路由。在此模式下Ocelot将使用上游路径的第一个段来与服务发现提供程序一起查找下游服务。例如使用https://api.yilezhu.cn/product/products 等网址调用ocelot 。Ocelot将采用产品路径的第一部分product并将其用作在Consul中查找服务的Key。如果consul返回一个服务Ocelot将使用从consul返回的主机和端口以及剩余路径段组合后的Url来进行请求的响应。如http// hostfromconsulportfromconsul/products。Ocelot将正常向下游URL转发查询字符串。即query要启用动态路由您需要在配置中保留0个ReRoutes。目前您无法混合动态和配置ReRoutes。除此之外您还需要指定上面概述的Service Discovery提供程序详细信息和下游http / https方案作为DownstreamScheme。除此之外您还可以设置RateLimitOptionsQoSOptionsLoadBalancerOptions和HttpHandlerOptionsDownstreamScheme您可能希望在https上调用Ocelot但可以通过http与私有服务进行通信这些将应用于所有动态ReRoutes。配置可能看起来像:Ocelot还允许您设置DynamicReRoutes允许您为每个下游服务设置速率限制规则。如果您有一个产品和搜索服务并且您希望对另一个进行速率限制则此功能非常有用。这方面的一个例子如下。此配置意味着如果您在/product/上进入Ocelot请求则动态路由将启动并且ocelot将使用针对DynamicReRoutes部分中的产品服务的速率限制设置。GitHub地址https://github.com/yilezhu/OcelotDemo总结本文接着上篇文章进行了Ocelot请求聚合功能以及服务发现功能的介绍并且对Ocelot动态路由功能也进行了简单的阐述。对于请求聚合这块进行了相关实例代码的演示并已经更新到Github上面了希望能对大家有所帮助相关文章AspNetCore中使用Ocelot之 IdentityServer4Ocelot-基于.NET Core的开源网关实现.NET Core微服务之基于OcelotIdentityServer实现统一验证与授权Swagger如何访问Ocelot中带权限验证的APIOcelot.JwtAuthorize一个基于网关的Jwt验证包.NET Core微服务之基于Ocelot实现API网关服务.NET Core微服务之基于Ocelot实现API网关服务续.NET微服务体系结构中为什么使用Ocelot实现API网关Ocelot简易教程一之Ocelot是什么Ocelot简易教程二之快速开始1Ocelot简易教程二之快速开始2Ocelot简易教程三之主要特性及路由详解原文地址: https://www.cnblogs.com/yilezhu/p/9664977.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/191053/

相关文章:

  • 个人网站建设与实现建立个公司网站
  • 南昌招商网站建设临沂兰山建设局网站
  • 母婴网站建设怎么样可以做网站
  • 二手车 网站开发wordpress 定时 检查
  • 淮南官网济南seo优化外包
  • 沈阳网站建设莫道网络网站建设常用六大布局
  • 网站建设外文版要求网站关键字优化销售
  • 马来西亚做公路投标网站设计网页多少钱
  • 织梦网站多少钱广告多的网站
  • 济南网站建站模板深圳南园网站建设
  • 国家免费技能培训官网白杨seo博客
  • 福州seo网站建设微服务网站
  • 网站宽度 像素长沙电商运营培训
  • 备案上个人网站和企业网站的区别app开发多少钱一个
  • 有限公司网站建设 中企动力佛山培训机构招生方案
  • 扫黄打非网站建设专业的高端网站制作公司
  • 做自媒体发视频用哪些网站江西网站建设哪家好
  • wordpress用户列表南宁百度seo排名优化
  • 做网站时如何写接口文档上海网站设计建设公司
  • 网站小图标怎么制作平面设计素材网站推荐
  • 多元网络兰州网站建设惠州网页建站模板
  • 网站建设中首页模板下载网页制作模板保存
  • 宁夏做网站的江苏网站建设的案例展示
  • 网站功能需求文档如何免费域名注册
  • 推广网站的软件包头移动的网站建设
  • 自己制作音乐的软件免费上海seo怎么优化
  • 学vue可以做pc网站网站站长统计怎么弄
  • 做物流的可以在那些网站找客户大淘客网站建设app
  • 石家庄兼职做网站dedecms做视频网站
  • 优化公司怎么优化网站的网站 意义