Random Link ¯\_(ツ)_/¯ | ||
Jul 19, 2025 | » | Resilient App Development in .NET
6 min; updated Jul 19, 2025
Microsoft.Extensions.Resilience and Microsoft.Extensions.Http.Resilience provide resilience mechanisms against transient failures. These two packages are built on top of the open-source Polly resilience library. Build a Resilience Pipeline Given a ServiceCollection services, configure a keyed resilience pipeline as follows: const string key = "Retry-Timeout"; services.AddResiliencePipeline(key, static builder => { builder.AddRetry(new RetryStrategyOptions { ShouldHandle = new PredicateBuilder().Handle<TimeoutRejectedException>() }); builder.AddTimeout(TimeSpan.FromSeconds(1.5)); }); Other Add* extension methods include AddCircuitBreaker, AddRateLimiter, AddConcurrencyLimiter, AddFallback, and AddHedging.... |
May 17, 2020 | » | Mergeable Replicated Data Types
2 min; updated Jul 19, 2025
On a distributed system, each replica should [eventually] converge to the same state. Commutative Replicated Data Types (CRDTs) can accept updates and achieve consistent without remote synchronization. The Need for Commutativity Say we have a queue \( 1 \to 2 \). Suppose two replicas, \(r_1\) and \(r_2\), independently call pop(). Each replica will have \(2\) on their queue. However, on receiving an update that the other replica popped, each replica will call pop() to be consistent, thereby deleting \(2\).... |
Mar 16, 2017 | » | Designing Data-Intensive Applications [Book]
(7 items)
Relational Model Versus Document Model; Thinking About Data Systems; Designing Data-Intensive Applications [Kleppmann, Martin]; Query Languages for Data; Reliability; Maintainability; Scalability; |