diff --git a/ambassador/README.md b/ambassador/README.md index 78b3a885669fb9e905db8fa7b3b290ee3a659805..11abfaf88af476161fb94d71e912cea05e90c3d6 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 4172cc72ab6217771176963a8766fef3521b30d4..912f1d218dc969db782e8249be88fb065ec764d9 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 e0ef7d1fb7eb16818a9d38132caa3e6ab3b30486..ce280a570bc5462e7e8886b5f43a85d6807c3d89 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 431ae6279d148ec4d57cc693bdecb53e30eafd12..017e0a00365c42660f943f47c6689875caa4c1be 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 5efbbbd020da447b2f3f2545c1e702a9d29404ff..6d24a40e5647f6b9af33d4206576b6567bdaadb0 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 3cfa7a6625763f25a1e536312b145c28ba727b79..85943d5b4988c3cfc5290d2323e10f2228c61201 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 c8d1f7773cb96761c4c044e8dcb0c82d4445daa2..924d7169f6d617ca4b5bdbfe2b0cbc25912087f8 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 3674e74135ba049f7618b7c741d1a984fd26fd68..5cad88636e6519d40670546b653a2695ddd7f8d8 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 fa56c124013aa4cc3b81c565e095733352c1579d..056674a18cba134ab099929ddcd92aebacd89b69 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 50aeb7d7375f8b6d3e679c5ffbed0481f9dbd190..394398f99b32f9586429b1a641c1f571ae33ffde 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 2ee4654016686ff6476805ff563757bdc53a83b4..cc2121bb5d3db3c22a792f8c1784100f0858b0ab 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 2f157f1d2edad6b0c8564f358d9892cb80f19023..667940798adc746fa0e96d02014736f9d9231dbf 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 f3ef43c17f3eaf695841d125f83e47e45748215c..48e1b1c78cad90185e5427fd59221594ca37a99d 100644 --- a/throttling/README.md +++ b/throttling/README.md @@ -6,6 +6,7 @@ permalink: /patterns/throttling/ categories: Behavioral tags: - Performance + - Cloud distributed --- ## Intent