Browse Source

Refactored internal ResiliencePolicy base class and ResiliencePolicyFactory

pull/173/head
Cesar De la Torre 7 years ago
parent
commit
c0c0941c4c
7 changed files with 13 additions and 13 deletions
  1. +1
    -1
      src/BuildingBlocks/Resilience/HttpResilience/Policies/CircuitBreakerPolicy.cs
  2. +1
    -1
      src/BuildingBlocks/Resilience/HttpResilience/Policies/RetryPolicy.cs
  3. +1
    -1
      src/BuildingBlocks/Resilience/HttpResilience/ResiliencePolicy.cs
  4. +3
    -3
      src/BuildingBlocks/Resilience/HttpResilience/ResiliencePolicyFactory.cs
  5. +2
    -2
      src/BuildingBlocks/Resilience/HttpResilience/ResilientHttpClient.cs
  6. +4
    -4
      src/Web/WebMVC/Startup.cs
  7. +1
    -1
      src/Web/WebMVC/appsettings.json

+ 1
- 1
src/BuildingBlocks/Resilience/HttpResilience/Policies/CircuitBreakerPolicy.cs View File

@ -4,7 +4,7 @@ using System.Text;
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.HttpResilience.Policies
{
internal class CircuitBreakerPolicy : ResilientPolicy
internal class CircuitBreakerPolicy : ResiliencePolicy
{
public CircuitBreakerPolicy(int exceptionsAllowedBeforeBreaking, int durationOfBreakInMinutes)
{


+ 1
- 1
src/BuildingBlocks/Resilience/HttpResilience/Policies/RetryPolicy.cs View File

@ -4,7 +4,7 @@ using System.Text;
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.HttpResilience.Policies
{
internal class RetryPolicy : ResilientPolicy
internal class RetryPolicy : ResiliencePolicy
{
public RetryPolicy(int retries, int backoffSeconds, bool exponentialBackoff)
{


src/BuildingBlocks/Resilience/HttpResilience/ResilientPolicy.cs → src/BuildingBlocks/Resilience/HttpResilience/ResiliencePolicy.cs View File

@ -4,7 +4,7 @@ using System.Text;
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.HttpResilience
{
public class ResilientPolicy
public class ResiliencePolicy
{
}
}

src/BuildingBlocks/Resilience/HttpResilience/ResilientPolicyFactory.cs → src/BuildingBlocks/Resilience/HttpResilience/ResiliencePolicyFactory.cs View File

@ -5,14 +5,14 @@ using System.Text;
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.HttpResilience
{
public static class ResilientPolicyFactory
public static class ResiliencePolicyFactory
{
public static ResilientPolicy CreateRetryPolicy(int retries, int backoffSeconds, bool exponentialBackoff)
public static ResiliencePolicy CreateRetryPolicy(int retries, int backoffSeconds, bool exponentialBackoff)
{
return new RetryPolicy(retries, backoffSeconds, exponentialBackoff);
}
public static ResilientPolicy CreateCiscuitBreakerPolicy(int exceptionsAllowedBeforeBreaking, int durationOfBreakInMinutes)
public static ResiliencePolicy CreateCiscuitBreakerPolicy(int exceptionsAllowedBeforeBreaking, int durationOfBreakInMinutes)
{
return new CircuitBreakerPolicy(exceptionsAllowedBeforeBreaking, durationOfBreakInMinutes);
}

+ 2
- 2
src/BuildingBlocks/Resilience/HttpResilience/ResilientHttpClient.cs View File

@ -32,7 +32,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.HttpResilience
_policyWrapper = Policy.WrapAsync(policies.ToArray());
}
public ResilientHttpClient(List<ResilientPolicy> policies, ILogger<ResilientHttpClient> logger)
public ResilientHttpClient(List<ResiliencePolicy> policies, ILogger<ResilientHttpClient> logger)
{
_client = new HttpClient();
_logger = logger;
@ -41,7 +41,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.HttpResilience
_policyWrapper = Policy.WrapAsync(GeneratePolicies(policies));
}
private Policy[] GeneratePolicies(IList<ResilientPolicy> policies)
private Policy[] GeneratePolicies(IList<ResiliencePolicy> policies)
{
var pollyPolicies = new List<Policy>();


+ 4
- 4
src/Web/WebMVC/Startup.cs View File

@ -58,13 +58,13 @@ namespace Microsoft.eShopOnContainers.WebMVC
services.AddTransient<IBasketService, BasketService>();
services.AddTransient<IIdentityParser<ApplicationUser>, IdentityParser>();
if (Configuration.GetValue<string>("ActivateCircuitBreaker") == bool.TrueString)
if (Configuration.GetValue<string>("UseResilientHttp") == bool.TrueString)
{
services.AddSingleton(
new List<ResilientPolicy>
new List<ResiliencePolicy>
{
ResilientPolicyFactory.CreateRetryPolicy(6, 2, true),
ResilientPolicyFactory.CreateCiscuitBreakerPolicy(5, 1)
ResiliencePolicyFactory.CreateRetryPolicy(6, 2, true),
ResiliencePolicyFactory.CreateCiscuitBreakerPolicy(5, 1)
});
services.AddTransient<IHttpClient, ResilientHttpClient>();
}


+ 1
- 1
src/Web/WebMVC/appsettings.json View File

@ -4,7 +4,7 @@
"BasketUrl": "http://localhost:5103",
"IdentityUrl": "http://localhost:5105",
"CallBackUrl": "http://localhost:5100/",
"ActivateCircuitBreaker": "True",
"UseResilientHttp": "True",
"Logging": {
"IncludeScopes": false,
"LogLevel": {


Loading…
Cancel
Save