.NET 基金会项目介绍-Polly

2020-03-16 10:44:01 浏览数 (1)

Polly 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

中文介绍

中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。

Polly

如今的云应用程序、移动设备、流数据处理和 IoT 技术等等都非常依赖于可靠的系统连通性。不过现实是:基础系统可能出现操作失败,网络波动时有发生:或中断、或延时、或瞬时波动、或峰值负载 —— 这些都对100%的系统连通性造成挑战。

Polly 能够协助您在不稳定的网络下进行工作。通过流畅表达的弹性策略, Polly 可以帮您减少系统的脆弱性,使您的系统与客户间保持连通性。这些策略包括有 重试(Retry), 故障终端(Circuit Breaker), 超时处理(Timeout), 批量处理(Bulkhead Isolation) 以及降级处理(Fallback)。

与此项目非常类似的项目是采用 java 编写的 Hystrix。在 .Net 中暂时没有可以比较的项目,我们正在开发 Polly 来解决相同的问题,但是以一种灵活的,轻量的,“keep things simple” 的理念。

轻量化的实现意味着 Polly 能够在任何 .Net 环境下运行。无论您是正在构建一个偶尔需要调用服务端的移动端程序,还是正在构建一个非常重要的智能服务,您只需要将 Polly 的 NuGet 包安装到项目中,就可以立刻使用。

项目详情
  • 官方网站
  • 项目源码
  • 项目许可证: New BSD
  • NuGet
  • 项目联系人: Dylan Reisenberger 和 Joel Hulen
相关链接
  • 开发文档
  • 参与讨论 Slack. Not a member yet? Sign up now!
  • 参与贡献

笔者简评

Polly 是一只彩虹鹦鹉。

绝大多数情况下,我们愿意考虑一次到底的调用,每个环节都是正常可靠的,然而随着应用程序的拆分由进程内变为进程间之后,系统间的相互协作就变得更为频繁。

一个优雅的方式来解决系统间相互调用可能出现的临时故障,无疑能够增强系统的可靠性。

不过,实际上最为重要的是:在进行系统交互设计时,一定要将异常情况考虑在设计中。 Polly 只是一个实现的方式和工具,最为重要的还是系统设计者的设计。

英文介绍

Polly

Today’s cloud application, mobile, data-streaming, and IoT technologies all depend vitally on reliable connectivity. But underlying systems can fail, and networks are notoriously fickle: outages, latency, transient blips, spikes in load - all challenge 100% reliability.

Polly helps you navigate the unreliable network. By providing resilience strategies in fluent-to-express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback, Polly can help you reduce fragility, and keep your systems and customers connected!

The closest project comparison is to Hystrix in the java world. The .NET space has no comparable offering. We are building Polly to solve the same problems, but in a flexible, lightweight, ‘keep things simple’ spirit.

Best of all, that lightweight approach means Polly can work anywhere .NET can run. Whether you’re building an occasionally connected mobile application, or a heavy duty business intelligence service, simply drop in the Polly NuGet package and get started right away!

Project Details
  • Website
  • Source
  • License: New BSD
  • NuGet
  • Project Leads: Dylan Reisenberger and Joel Hulen
Quicklinks
  • Documentation
  • Discussions are held on Slack. Not a member yet? Sign up now!
  • Contribute

以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。

其他项目地址

  • Akka.NET - 【Actor开发框架】
  • AngleSharp - 【浏览器引擎】
  • ASP.NET SignalR - 【Web实时通信框架】
  • ASP.NET MVC, Web API and Web Pages Razor - 【Web开发框架】
  • ASP.NET Ajax Control Toolkit - 【Ajax开发工具】
  • ASP.NET Core - 【新时代Web开发框架】
  • AutoMapper - 【对象映射管理】
  • Microsoft Azure SDK for .NET - 【SDK】
  • Microsoft Azure WebJobs SDK - 【SDK】
  • BenchmarkDotNet - 【基准测试框架】
  • Cake - 【本地自动化框架】
  • Chemistry Add-in for Word - 【Word插件】
  • Couchbase Lite for .NET - 【NoSQL引擎】
  • DNN Platform - 【CMS系统】
  • .NET Compiler Platform Roslyn - 【编译器】
  • .NET Micro Framework - 【嵌入式框架】
  • .NET SDK For Hadoop - 【SDK】
  • DotVVM: Component-based MVVM framework for ASP.NET - 【Web服务端MVVM框架】
  • Entity Framework - 【ORM】
  • Humanizer - 【工具库】
  • IdentityManager - 【身份认证数据管理工具】
  • IdentityModel - 【身份认证对接库】
  • IdentityServer - 【OAuth服务端】
  • SixLabors.ImageSharp - 【2D绘图库】
  • DLR/IronPython2/IronPython3 - 【.Net上运行Python】
  • Json.NET - 【JSON处理库】
  • Kudu - 【自动化框架】
  • LLILC - 【语言底层项目】
  • MailKit - 【邮件处理工具库】
  • Managed Extensibility Framework MEF, MEF2 - 【模块化工具库】
  • Microsoft Web Protection Library - 【Web防攻击工具库】
  • MimeKit - 【MIME处理工具库】
  • ML.NET - 【机器学习框架】
  • Cecil - 【语言底层项目】
  • Mono - 【语言跨平台底层项目】
  • MSBuild - 【本地自动化框架】
  • MVVM Light Toolkit - 【客户端MVVM开发框架】
  • MvvmCross - 【客户端MVVM开发框架】
  • Nancy - 【Web开发框架】
  • .NET Core - 【Web开发框架】
  • Newtonsoft.Json - 【JSON处理库】
  • NuGet - 【包管理框架】
  • NUnit Test Framework - 【单元测试框架】
  • Open Live Writer - 【博客协作工具】
  • Open XML SDK - 【Office SDK】
  • Orchard CMS - 【CMS系统】
  • Orleans - 【Actor开发框架】
  • OWIN Authentication Middleware Katana Project - 【Web开发框架】
  • Peachpie Compiler Platform - 【.Net上运行PHP】
  • Polly - 【服务调用工具库】
  • Prism - 【客户端MVVM开发框架】
  • Protobuild - 【项目文件生成工具】
  • Reactive Extensions for .NET - 【反应式编程框架】
  • ReactiveUI - 【反应式编程UI框架】
  • Salesforce Toolkits for .NET - 【SDK】
  • SourceLink - 【源码调试支持】
  • Steeltoe - 【微服务框架】
  • System.Drawing Mono - 【2D绘图工具库】
  • Telerik UI for UWP - 【UWP UI框架】
  • Umbraco - 【CMS框架】
  • UWP Community Toolkit - 【UWP 工具库】
  • WCF - 【跨进程通信框架】
  • Windows Phone Toolkit - 【WP 工具库】
  • Windows Template Studio - 【UWP 项目模板】
  • Windows Forms - 【客户端开发框架】
  • WiX Toolset - 【安装包制作框架】
  • WorldWide Telescope - 【宇宙探索工具】
  • Windows Presentation Foundation WPF - 【客户端开发框架】
  • Xamarin.Auth - 【移动端身份认证工具库】
  • Xamarin.Mobile - 【移动端工具库】
  • xUnit.net - 【单元测试框架】

0 人点赞