polly

Polly Circuit Breaker handled and unhandled exceptions

你。 提交于 2021-01-07 02:47:35
问题 I want to use Polly to implement a Circuit Breaker pattern. In the docs, there is a description of the Half Open state, and there it says: If a handled exception is received, that exception is rethrown, and the circuit transitions immediately back to open, and remains open again for the configured timespan. If an unhandled exception is received, the circuit remains in half-open. I'm not sure I understand the difference here between handled and unhandled exception. We are describing a case

Send parallel requests but only one per host with HttpClient and Polly to gracefully handle 429 responses

空扰寡人 提交于 2020-12-31 04:31:08
问题 Intro: I am building a single-node web crawler to simply validate URLs are 200 OK in a .NET Core console application. I have a collection of URLs at different hosts to which I am sending requests with HttpClient . I am fairly new to using Polly and TPL Dataflow. Requirements: I want to support sending multiple HTTP requests in parallel with a configurable MaxDegreeOfParallelism . I want to limit the number of parallel requests to any given host to 1 (or configurable). This is in order to

Savings Plan Update: Save Up to 17% On Your Lambda Workloads

陌路散爱 提交于 2020-11-30 07:44:56
https://amazonaws-china.com/blogs/aws/savings-plan-update-save-up-to-17-on-your-lambda-workloads/ Late last year I wrote about Savings Plans , and showed you how you could use them to save money when you make a one or three year commitment to use a specified amount (measured in dollars per hour) of Amazon Elastic Compute Cloud (EC2) or AWS Fargate . Savings Plans give you the flexibility to change compute services, instance types, operating systems, and regions while accessing compute power at a lower price. Now for Lambda Today I am happy to be able to tell you that Compute Savings Plans now

[Abp vNext 源码分析]

独自空忆成欢 提交于 2020-08-18 10:07:39
一、简介 ABP vNext 在 v 2.9.x 版本当中添加了 BLOB 系统,主要用于存储大型二进制文件。ABP 抽象了一套通用的 BLOB 体系,开发人员在存储或读取二进制文件时,可以忽略具体实现,直接使用 IBlobContainer 或 IBlobContainer<T> 进行操作。官方的 BLOB Provider 实现有 Azure 、 AWS 、 FileSystem(文件系统存储) 、 Database(数据库存储) 、 阿里云 OSS ,你也可以自己继承 BlobProviderBase 来实现其他的 Provider。 BLOB 常用于各类二进制文件存储和管理,基本就是对云服务的 OSS 进行了抽象,在使用当中也会有 Bucket 和 Object Key 的概念,在 BLOB 里面对应的就是 ContainerName 和 BlobName。 关于 BLOB 的官方使用指南,可以参考 https://docs.abp.io/en/abp/latest/Blob-Storing ,本文的阅读前提是建立在你已经阅读过该指南,并有一定的使用经验。 二、源码分析 2.1 模块分析 看一个 ABP 的库项目,首先从他的 Module 入手,对应的 BLOB 核心库的 Module 就是 AbpBlobStoringModule 类,在其内部,只进行了两个操作,注入了

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

落爺英雄遲暮 提交于 2020-08-12 05:38:58
集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo的微服务开发框架 Github源代码地址 https://github.com/PeyShine/Demo.MicroServer Apollo配置中心 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 由于各个项目配置都需要读取基础的配置信息,这边在内网的Centos(101)上部署了Apollo的环境,并为项目添加了一些基础配置信息,配置如图 Consul Consul是一种服务网格解决方案,提供具有服务发现,健康检查,Key/Value存储,多数据中心等功能。 在内网101启动Consul服务,这里为了测试,直接在本地将用户服务实例分别在三个端口启动起来,实际生产中这些服务可能部署在不同的机房不同的机器,他们之间组成一个服务的集群,服务提供一个心跳检测的方法,用于consul定时检测服务实例是否健康,启动时在consul中进行一次注册,这个就是经常说的‘服务注册与发现’中的服务注册,三个服务实例截图如下 注册完成之后打开consul的ui界面可以看到

微服务系列(即将开启)

久未见 提交于 2020-08-11 02:19:18
。。。。 0. 业务代码准备 1. consul的注册发现 及 Webapi业务代码的准备 2. Polly的简单用法(熔断、降级、充实、短路、超时处理) 3. 框架的自行封装 结合 AspectCore 4. Ocelot 路由功能以及与Consul结合 5. Ocelot+Polly、Ocelot的缓存机制、限流机制、熔断机制 6. Ocelot 配合 Jwt 进行校验 7. ID4介绍 和 Ocelot+ Id4 配合校验 8. Nginx + Ocelot集群解决负载问题 来源: oschina 链接: https://my.oschina.net/u/4364212/blog/4282042

.NET Core微服务部分知识点

≯℡__Kan透↙ 提交于 2020-08-07 19:56:30
领域模型:这个是微服务的基础,可以说是基础模型; GateWay:实现服务的认证和授权,可以实现服务的聚合; 代表项目:Ocelot; 使用:添加Ocelot包,添加Ocelot配置,添加配置读取代码,注册Ocelot服务,注册Ocelot中间件; JWT的认证和授权; JWT有三部分组成:Header(令牌类型和加密类型等信息),Payload(支持自定义部分),Signature(Header和Payload和私有密钥计算出来的签名), 要同时部署到gateway和微服务; 服务熔断,服务降级,服务重试,服务限流; 代表项目:Polly; 使用:添加Polly包,服务注册以及使用Polly API配置; 内部服务间通讯--GRPC 优势:默认使用Protocol Buffers序列化,性能相对于Restful Json好很多;基于Http/2;支持双向流式的请求和响应,对批量处理和低延时场景友好。 CQRS:实现领域事件和领域事件处理程序隔离,让服务层独立出来实现服务的认证和授权,以及一些与基础服务相关的业务; 代表项目:MediatR; 来源: oschina 链接: https://my.oschina.net/u/4373992/blog/4405876