09 2018 档案
摘要:"原文" 没有人想延迟交付时间、超出预算。没有一个开发人员会在早上醒来的时候想"我今天要做搞一些垃圾代码。我如何才能增加、耗费雇主更多的钱?"。尽管如此,还是有许多的软件项目进行的不是很好。总是有来自各方面的压力,让我们不得不更快的编写代码。因此,如果我们在一家软件公司,应该怎么作呢?怎样才能在保证
阅读全文
摘要:"原文" 什么是Razor Pages? Razor pages是ASP.NET Core 2.0的新特性,它被设计用来更快的开发页面,比传统的MVC模式更便捷。 创建项目 为了使用Razor Pages,你须在安装Core 2.0。 在VS中,你可以通过选择File New Project,然后选
阅读全文
摘要:"原文" 可以针对每个ReRoute设置对下游服务的熔断器circuit breaker。这部分是通过 "Polly" 实现的。 将下面的配置添加到一个ReRoute下面去。 必须大于0。 标识跳闸多会后再启用。 标识如果请求超过5秒,就自动超时。 可以只设置 。 如果你没有设置QoSOptions
阅读全文
摘要:"原文" Ocelot支持基本的缓存,目前Ocelot的缓存是通过 "CacheManager project" 实现的。 下面的示例展示了如何启用缓存: 为了在路由中使用缓存,需要在ReRoute中添加下面的配置: 上面的例子中 设置缓存会在15秒中后失效。 Ocelot目前支持对下游服务的url
阅读全文
摘要:"原文" Ocelot支持对上游做访问限流,这样就可以保证下游不要负载太大了。 如果要启用访问限流,需要做如下配置: 是和客户端白名单的数组。白名单里面的客户不受限流的限制。 是否启用限流 标识限流作用于的时间段, 例如: 1s, 5m, 1h,1d 等。如果在这个时间段内访问的次数超过了限制,需要
阅读全文
摘要:"原文"
阅读全文
摘要:"原文" 你可以指定一个service discovery provider,ocelot将使用它来找下游的host和port。 Consul 下面的配置要放在 中。如果你没有指定host和port,那么就需要一个service discovery provider,默认使用的是Consul。 为了
阅读全文
摘要:"原文" Aggregate ReRoutes用来组合多个ReRoutes,将它们的响应结果映射到一个响应中返回给客户端。 为了使用Aggregate ReRoutes,你必须像下面的 中做些配置。 在下面的例子中,有两个ReRoutes,且它们都有一个Key属性,我们将使用ReRoute里面的ke
阅读全文
摘要:"原文" 目录 "Big Picture" "Getting Started" "Configuration" "Routing" "Request Aggregation" "Service Discovery" "Authentication TODO" Authorisation TODO "
阅读全文
摘要:"原文" Ocelot专为.NET Core而设计。 .NET Core 2.1 安装 首先需要创建一个 netstandard2.0 项目,然后再通过nuget安装。 Configuration 下面是个最基本的最简单的 文件的内容。 这里我们要注意下 BaseUrl 。这个URL地址应该是对外的
阅读全文
摘要:"原文" 这里有一个配置的 "样例" 。配置主要有两个部分。一个是 ReRoutes 数组,另一个是 GlobalConfiguration 。ReRoute告诉Ocelot怎么处理上游的请求。Global configuration能让我们覆盖一些ReRoute的一些配置。 这里是一个ReRout
阅读全文
摘要:"原文" Ocelot主要的功能就是将http请求转发到对应的下游服务上去。 Ocelot将一个请求路由到另外一个路由的动作叫做 。为了能让Ocelot能正常工作,需要在配置中设置 。 配置 需要添加一个 json 数组。 , 和`DownstreamHostAndPorts`定义请求需要转发到哪个
阅读全文
摘要:"原文" 可以为HttpClient添加delegating handlers。 Usage 为了添加delegating handler需要做两件事。 首先如下一样创建一个类。 然后必须将这个handler添加到Ocelot的容器里面: 这些Add模仿都有一个默认的参数(默认为false)用来表示
阅读全文
摘要:"原文" 可以对下游的服务进行负载均衡。 提供了下面几种负载均衡: LeastConnection tracks which services are dealing with requests and sends new requests to service with least existin
阅读全文
摘要:"原文" 使用这个特性的时候要小心点。 可以如下一样提供一些中间件用以覆盖默认的中间件: PreErrorResponderMiddleware 最先运行的中间件 PreAuthenticationMiddleware 在验证前运行 AuthenticationMiddleware 覆盖验证中间件
阅读全文
摘要:"原文" Ocelot可以通过header的形式发送一个requestid。ocelot会将这个requestid转发到下游服务。 如果在日志配置中设置了 为`true`,那么request id会打在日志里面。 可以通过两种方式使用requestid。 1.Global 配置如下GlobalCon
阅读全文
摘要:"原文" Ocelot是使用的 "Butterfly" 这个项目来实现这个的。 在ocelot要使用tracing, 首先得安装相应的包: 然后再ConfigureServices方法里面添加如下代码: 最后添加下面的配置到你想要trace的ReRoute中:
阅读全文
摘要:"原文" Ocelot使用标准的日志接口 和`ILogger IOcelotLogger IOcelotLoggerFactory`中,因为ocelot要添加一些额外的信息(eg:request id)到日志中去。 还有一个内置的全局error handler,用来捕获异常并打日志。 如果日志级别设
阅读全文
摘要:"原文" 用户授权后才能使用此功能。 用户获得授权后claims将被发送到claims transformation中间件。用户授权后,我们首先调用claims to headers middleware,claims to query string parameters middleware。 在
阅读全文
摘要:"原文" Add to Request 为上游请求添加请求头,只需如下一样将下面的配置添加到一个ReRoute里: 上面的例子中添加了一个键为Uncle,值为Bob的请求头。 支持Placeholders。 Add to Response 还可以为下游服务添加响应头, 如下一样将下面的配置添加到一个
阅读全文