From 1eafb46b6160ec36a2f09d5ef2e866e3728b47f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Sun, 26 Jul 2020 11:30:42 +0300 Subject: [PATCH] Update links and tags --- ambassador/README.md | 6 +++--- caching/README.md | 5 +++-- circuit-breaker/README.md | 7 ++++--- cqrs/README.md | 11 ++++++----- event-sourcing/README.md | 4 +++- leader-election/README.md | 2 +- priority-queue/README.md | 8 ++++---- queue-load-leveling/README.md | 3 ++- retry/README.md | 1 + saga/README.md | 1 + sharding/README.md | 2 +- strangler/README.md | 5 ++--- throttling/README.md | 1 + 13 files changed, 32 insertions(+), 24 deletions(-) diff --git a/ambassador/README.md b/ambassador/README.md index 78b3a8856..11abfaf88 100644 --- a/ambassador/README.md +++ b/ambassador/README.md @@ -5,7 +5,8 @@ folder: ambassador permalink: /patterns/ambassador/ categories: Structural tags: - - Decoupling + - Decoupling + - Cloud distributed --- ## Intent @@ -22,8 +23,7 @@ In plain words Microsoft documentation states -> An ambassador service can be thought of as an out-of-process proxy that is co-located with the client. - This pattern can be useful for offloading common client connectivity tasks such as monitoring, logging, routing, security (such as TLS), and resiliency patterns in a language agnostic way. It is often used with legacy applications, or other applications that are difficult to modify, in order to extend their networking capabilities. It can also enable a specialized team to implement those features. +> An ambassador service can be thought of as an out-of-process proxy that is co-located with the client. This pattern can be useful for offloading common client connectivity tasks such as monitoring, logging, routing, security (such as TLS), and resiliency patterns in a language agnostic way. It is often used with legacy applications, or other applications that are difficult to modify, in order to extend their networking capabilities. It can also enable a specialized team to implement those features. **Programmatic Example** diff --git a/caching/README.md b/caching/README.md index 4172cc72a..912f1d218 100644 --- a/caching/README.md +++ b/caching/README.md @@ -5,7 +5,8 @@ folder: caching permalink: /patterns/caching/ categories: Behavioral tags: - - Performance + - Performance + - Cloud distributed --- ## Intent @@ -25,4 +26,4 @@ Use the Caching pattern(s) when * [Write-through, write-around, write-back: Cache explained](http://www.computerweekly.com/feature/Write-through-write-around-write-back-Cache-explained) * [Read-Through, Write-Through, Write-Behind, and Refresh-Ahead Caching](https://docs.oracle.com/cd/E15357_01/coh.360/e15723/cache_rtwtwbra.htm#COHDG5177) -* [Cache-Aside](https://msdn.microsoft.com/en-us/library/dn589799.aspx) +* [Cache-Aside pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside) diff --git a/circuit-breaker/README.md b/circuit-breaker/README.md index e0ef7d1fb..ce280a570 100644 --- a/circuit-breaker/README.md +++ b/circuit-breaker/README.md @@ -5,8 +5,9 @@ folder: circuit-breaker permalink: /patterns/circuit-breaker/ categories: Behavioral tags: - - Performance - - Decoupling + - Performance + - Decoupling + - Cloud distributed --- ## Intent @@ -187,4 +188,4 @@ Use the Circuit Breaker pattern when * [Understanding Circuit Breaker Pattern](https://itnext.io/understand-circuitbreaker-design-pattern-with-simple-practical-example-92a752615b42) * [Martin Fowler on Circuit Breaker](https://martinfowler.com/bliki/CircuitBreaker.html) * [Fault tolerance in a high volume, distributed system](https://medium.com/netflix-techblog/fault-tolerance-in-a-high-volume-distributed-system-91ab4faae74a) -* [Microsoft docs](https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker) +* [Circuit Breaker pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker) diff --git a/cqrs/README.md b/cqrs/README.md index 431ae6279..017e0a003 100644 --- a/cqrs/README.md +++ b/cqrs/README.md @@ -5,8 +5,8 @@ folder: cqrs permalink: /patterns/cqrs/ categories: Architectural tags: - - Performance - - Cloud distributed + - Performance + - Cloud distributed --- ## Intent @@ -18,12 +18,13 @@ CQRS Command Query Responsibility Segregation - Separate the query side from the ## Applicability Use the CQRS pattern when -* you want to scale the queries and commands independently. -* you want to use different data models for queries and commands. Useful when dealing with complex domains. -* you want to use architectures like event sourcing or task based UI. +* You want to scale the queries and commands independently. +* You want to use different data models for queries and commands. Useful when dealing with complex domains. +* You want to use architectures like event sourcing or task based UI. ## Credits * [Greg Young - CQRS, Task Based UIs, Event Sourcing agh!](http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/) * [Martin Fowler - CQRS](https://martinfowler.com/bliki/CQRS.html) * [Oliver Wolf - CQRS for Great Good](https://www.youtube.com/watch?v=Ge53swja9Dw) +* [Command and Query Responsibility Segregation (CQRS) pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs) diff --git a/event-sourcing/README.md b/event-sourcing/README.md index 5efbbbd02..6d24a40e5 100644 --- a/event-sourcing/README.md +++ b/event-sourcing/README.md @@ -5,7 +5,8 @@ folder: event-sourcing permalink: /patterns/event-sourcing/ categories: Architectural tags: - - Performance + - Performance + - Cloud distributed --- ## Intent @@ -30,3 +31,4 @@ Use the Event Sourcing pattern when * [Martin Fowler - Event Sourcing] (https://martinfowler.com/eaaDev/EventSourcing.html) * [Event Sourcing | Microsoft Docs] (https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing) * [Reference 3: Introducing Event Sourcing] (https://msdn.microsoft.com/en-us/library/jj591559.aspx) +* [Event Sourcing pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing) diff --git a/leader-election/README.md b/leader-election/README.md index 3cfa7a662..85943d5b4 100644 --- a/leader-election/README.md +++ b/leader-election/README.md @@ -30,4 +30,4 @@ Do not use this pattern when ## Credits -* [ Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn568104(v=pandp.10)) +* [Leader Election pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/leader-election) diff --git a/priority-queue/README.md b/priority-queue/README.md index c8d1f7773..924d7169f 100644 --- a/priority-queue/README.md +++ b/priority-queue/README.md @@ -6,6 +6,7 @@ permalink: /patterns/priority-queue/ categories: Behavioral tags: - Decoupling + - Cloud distributed --- ## Intent @@ -18,12 +19,11 @@ Applications may delegate specific tasks to other services; for example, to perf ![alt text](./etc/priority-queue.urm.png "Priority Queue pattern class diagram") ## Applicability -Use the Property pattern when +Use the Priority Queue pattern when * The system must handle multiple tasks that might have different priorities. * Different users or tenants should be served with different priority.. -## Real world examples +## Credits -* [ Priority Queue Pattern](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn589794(v=pandp.10)) -Microsoft Azure does not provide a queuing mechanism that natively support automatic prioritization of messages through sorting. However, it does provide Azure Service Bus topics and subscriptions, which support a queuing mechanism that provides message filtering, together with a wide range of flexible capabilities that make it ideal for use in almost all priority queue implementations. +* [Priority Queue pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/priority-queue) diff --git a/queue-load-leveling/README.md b/queue-load-leveling/README.md index 3674e7413..5cad88636 100644 --- a/queue-load-leveling/README.md +++ b/queue-load-leveling/README.md @@ -7,6 +7,7 @@ categories: Concurrency tags: - Decoupling - Performance + - Cloud distributed --- ## Intent @@ -32,4 +33,4 @@ for both the task and the service. ## Credits -* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx) +* [Queue-Based Load Leveling pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/queue-based-load-leveling) diff --git a/retry/README.md b/retry/README.md index fa56c1240..056674a18 100644 --- a/retry/README.md +++ b/retry/README.md @@ -6,6 +6,7 @@ permalink: /patterns/retry/ categories: Behavioral tags: - Performance + - Cloud distributed --- ## Intent diff --git a/saga/README.md b/saga/README.md index 50aeb7d73..394398f99 100644 --- a/saga/README.md +++ b/saga/README.md @@ -46,3 +46,4 @@ Use the Saga pattern, if: ## Credits - [Pattern: Saga](https://microservices.io/patterns/data/saga.html) +- [Saga distributed transactions pattern](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/saga/saga) diff --git a/sharding/README.md b/sharding/README.md index 2ee465401..cc2121bb5 100644 --- a/sharding/README.md +++ b/sharding/README.md @@ -26,4 +26,4 @@ This pattern offers the following benefits: ## Credits -* [Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications - Sharding Pattern](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn589797(v=pandp.10)?redirectedfrom=MSDN) +* [Sharding pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/sharding) diff --git a/strangler/README.md b/strangler/README.md index 2f157f1d2..667940798 100644 --- a/strangler/README.md +++ b/strangler/README.md @@ -6,6 +6,7 @@ permalink: /patterns/strangler/ categories: Structural tags: - Extensibility + - Cloud distributed --- ## Intent @@ -25,7 +26,5 @@ so usually use it when the system is not so simple. ## Credits -* [Strangler pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/strangler#context-and-problem) +* [Strangler pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/strangler) * [Legacy Application Strangulation : Case Studies](https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/) - - diff --git a/throttling/README.md b/throttling/README.md index f3ef43c17..48e1b1c78 100644 --- a/throttling/README.md +++ b/throttling/README.md @@ -6,6 +6,7 @@ permalink: /patterns/throttling/ categories: Behavioral tags: - Performance + - Cloud distributed --- ## Intent -- GitLab