Skip to main content

Command Palette

Search for a command to run...

Series

.NetCore实践

  1. .NetCore 实践——Polly[二]

    polly 组件包: polly 功能包 polly.Extensions.Http 专门针对http的扩展包 Miscrosoft.Extension.Http.Polly 看到这个名字,那么99%是针对官方.net core的扩展包,是HttpClientFactory 的扩展。 polly有下面一些功能: 失败重试 服务熔断 超时处理 舱壁处理 缓存策略 失败降级 组合策略 舱壁处理 是什么呢? 这个是限流功能,服务定义最大的流量和队列,避免请求量过大而崩溃。 组合策略...

    Jan 9, 20242 min read4
  2. .NetCore实践——熔断与限流

    Polly策略类型 polly 的策略类型分为两类: 被动策略(异常处理、结果处理) 主动策略(超时处理、断路器、舱壁隔离、缓存) 熔断和限流通过下面主动策略来实现: 降级响应 失败重试 断路器 舱壁隔离 Policy 类型状态说明 CircuitBreaker(断路器)有状态共享失败率,以决定是否熔断 Bulkhead(舱壁隔离)有状态共享容量使用情况,以决定是否执行动作 Cache(缓存)有状态共享缓存的对象,以决定是否命中 其他策略无状态 熔断 ...

    Jan 9, 20242 min read1
  3. .NetCore实战——工作单元模式(UnitOfWork):管理好你的事务

    工作单元模式有如下几个特性: 1、使用同一上下文 2、跟踪实体的状态 3、保障事务一致性 我们对实体的操作,最终的状态都是应该如实保存到我们的存储中,进行持久化 接下来看一下代码 为了实现工作单元模式,这里定义了一个工作单元的接口 public interface IUnitOfWork : IDisposable { Task<int> SaveChangesAsync(CancellationToken cancellationToken = default); Task<b...

    Jan 9, 20242 min read26
  4. .NetCore 实践——HttpClientFactory[一]

    HttpClientFactory介绍 HttpClientFactory 主要有下面的功能: 管理内部HttpMessageHandler 的生命周期,灵活应对资源问题和DNS刷新问题 支持命名话、类型化配置,集中管理配置,避免冲突。 灵活的出站请求管道配置,轻松管理请求生命周期 内置管道最外层和最内层日志记录器,有information 和 Trace 输出 核心对象: HttpClient HttpMessageHandler SocketsHttpHandler De...

    Jan 9, 20245 min read22