parent
7abe4ab91d
commit
8b80f4b00b
22 changed files with 165 additions and 1 deletions
@ -0,0 +1,8 @@ |
||||
# Bulkhead |
||||
|
||||
The Bulkhead pattern is a type of application design that is tolerant of failure. In a bulkhead architecture, elements of an application are isolated into pools so that if one fails, the others will continue to function. It's named after the sectioned partitions (bulkheads) of a ship's hull. If the hull of a ship is compromised, only the damaged section fills with water, which prevents the ship from sinking. |
||||
|
||||
Learn more from the following links: |
||||
|
||||
- [@article@Bulkhead pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/bulkhead) |
||||
- [@article@Get started with Bulkhead](https://dzone.com/articles/resilient-microservices-pattern-bulkhead-pattern) |
@ -0,0 +1,8 @@ |
||||
# Bulkhead |
||||
|
||||
The Bulkhead pattern is a type of application design that is tolerant of failure. In a bulkhead architecture, elements of an application are isolated into pools so that if one fails, the others will continue to function. It's named after the sectioned partitions (bulkheads) of a ship's hull. If the hull of a ship is compromised, only the damaged section fills with water, which prevents the ship from sinking. |
||||
|
||||
Learn more from the following links: |
||||
|
||||
- [@article@Bulkhead pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/bulkhead) |
||||
- [@article@Get started with Bulkhead](https://dzone.com/articles/resilient-microservices-pattern-bulkhead-pattern) |
@ -0,0 +1,8 @@ |
||||
# Circuit Breaker |
||||
|
||||
Handle faults that might take a variable amount of time to recover from, when connecting to a remote service or resource. This can improve the stability and resiliency of an application. |
||||
|
||||
Learn more from the following links: |
||||
|
||||
- [@article@Circuit breaker design pattern](https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern) |
||||
- [@article@Overview of Circuit Breaker](https://medium.com/geekculture/design-patterns-for-microservices-circuit-breaker-pattern-276249ffab33) |
@ -0,0 +1,8 @@ |
||||
# Circuit Breaker |
||||
|
||||
Handle faults that might take a variable amount of time to recover from, when connecting to a remote service or resource. This can improve the stability and resiliency of an application. |
||||
|
||||
Learn more from the following links: |
||||
|
||||
- [@article@Circuit breaker design pattern](https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern) |
||||
- [@article@Overview of Circuit Breaker](https://medium.com/geekculture/design-patterns-for-microservices-circuit-breaker-pattern-276249ffab33) |
@ -0,0 +1,8 @@ |
||||
# Compensating Transaction |
||||
|
||||
Undo the work performed by a series of steps, which together define an eventually consistent operation, if one or more of the steps fail. Operations that follow the eventual consistency model are commonly found in cloud-hosted applications that implement complex business processes and workflows. |
||||
|
||||
Learn more from the following resources: |
||||
|
||||
- [@article@Compensating Transaction pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/compensating-transaction) |
||||
- [@article@Intro to Compensation Transaction](https://en.wikipedia.org/wiki/Compensating_transaction) |
@ -0,0 +1,9 @@ |
||||
# Deployment Stamps |
||||
|
||||
The deployment stamp pattern involves provisioning, managing, and monitoring a heterogeneous group of resources to host and operate multiple workloads or tenants. Each individual copy is called a stamp, or sometimes a service unit, scale unit, or cell. In a multi-tenant environment, every stamp or scale unit can serve a predefined number of tenants. Multiple stamps can be deployed to scale the solution almost linearly and serve an increasing number of tenants. This approach can improve the scalability of your solution, allow you to deploy instances across multiple regions, and separate your customer data. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Deployment Stamps pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/deployment-stamp) |
||||
- [@article@Deployment Stamps 101](https://blog.devgenius.io/deployment-stamps-101-7c04a6f704a2) |
||||
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh) |
@ -0,0 +1,9 @@ |
||||
# Deployment Stamps |
||||
|
||||
The deployment stamp pattern involves provisioning, managing, and monitoring a heterogeneous group of resources to host and operate multiple workloads or tenants. Each individual copy is called a stamp, or sometimes a service unit, scale unit, or cell. In a multi-tenant environment, every stamp or scale unit can serve a predefined number of tenants. Multiple stamps can be deployed to scale the solution almost linearly and serve an increasing number of tenants. This approach can improve the scalability of your solution, allow you to deploy instances across multiple regions, and separate your customer data. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Deployment Stamps pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/deployment-stamp) |
||||
- [@article@Deployment Stamps 101](https://blog.devgenius.io/deployment-stamps-101-7c04a6f704a2) |
||||
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh) |
@ -0,0 +1,7 @@ |
||||
# Federated Identity pattern |
||||
|
||||
Delegate authentication to an external identity provider. This can simplify development, minimize the requirement for user administration, and improve the user experience of the application. |
||||
|
||||
To learn more, visit the following links: |
||||
|
||||
- [@article@Federated Identity pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/federated-identity) |
@ -0,0 +1,7 @@ |
||||
# Gatekeeper |
||||
|
||||
Protect applications and services using a dedicated host instance that acts as a broker between clients and the application or service, validates and sanitizes requests, and passes requests and data between them. This can provide an additional layer of security and limit the system's attack surface. |
||||
|
||||
Learn more from the following resources: |
||||
|
||||
- [@article@Gatekeeper pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/gatekeeper) |
@ -0,0 +1,8 @@ |
||||
# Geodes |
||||
|
||||
The Geode pattern involves deploying a collection of backend services into a set of geographical nodes, each of which can service any request for any client in any region. This pattern allows serving requests in an active-active style, improving latency and increasing availability by distributing request processing around the globe. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Geode pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/geodes) |
||||
- [@article@Geode Formation, Types & Appearance | What is a Geode?](https://study.com/academy/lesson/geode-formation-types-appearance.html) |
@ -0,0 +1,8 @@ |
||||
# Geodes |
||||
|
||||
The Geode pattern involves deploying a collection of backend services into a set of geographical nodes, each of which can service any request for any client in any region. This pattern allows serving requests in an active-active style, improving latency and increasing availability by distributing request processing around the globe. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Geode pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/geodes) |
||||
- [@article@Geode Formation, Types & Appearance | What is a Geode?](https://study.com/academy/lesson/geode-formation-types-appearance.html) |
@ -0,0 +1,9 @@ |
||||
# Health Endpoint Monitoring |
||||
|
||||
Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals. This can help to verify that applications and services are performing correctly. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Health Endpoint Monitoring pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring) |
||||
- [@article@Explaining the health endpoint monitoring pattern](https://www.oreilly.com/library/view/java-ee-8/9781788830621/5012c01e-90ca-4809-a210-d3736574f5b3.xhtml) |
||||
- [@feed@Explore top posts about Monitoring](https://app.daily.dev/tags/monitoring?ref=roadmapsh) |
@ -0,0 +1,9 @@ |
||||
# Health Endpoint Monitoring |
||||
|
||||
Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals. This can help to verify that applications and services are performing correctly. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Health Endpoint Monitoring pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring) |
||||
- [@article@Explaining the health endpoint monitoring pattern](https://www.oreilly.com/library/view/java-ee-8/9781788830621/5012c01e-90ca-4809-a210-d3736574f5b3.xhtml) |
||||
- [@feed@Explore top posts about Monitoring](https://app.daily.dev/tags/monitoring?ref=roadmapsh) |
@ -0,0 +1,9 @@ |
||||
# Health Endpoint Monitoring |
||||
|
||||
Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals. This can help to verify that applications and services are performing correctly. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Health Endpoint Monitoring pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring) |
||||
- [@article@Explaining the health endpoint monitoring pattern](https://www.oreilly.com/library/view/java-ee-8/9781788830621/5012c01e-90ca-4809-a210-d3736574f5b3.xhtml) |
||||
- [@feed@Explore top posts about Monitoring](https://app.daily.dev/tags/monitoring?ref=roadmapsh) |
@ -0,0 +1,7 @@ |
||||
# Leader Election |
||||
|
||||
Coordinate the actions performed by a collection of collaborating instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the others. This can help to ensure that instances don't conflict with each other, cause contention for shared resources, or inadvertently interfere with the work that other instances are performing. |
||||
|
||||
To learn more, visit the following links: |
||||
|
||||
- [@article@Leader Election Pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/leader-election) |
@ -0,0 +1,7 @@ |
||||
# Queue-Based load leveling |
||||
|
||||
Use a queue that acts as a buffer between a task and a service it invokes in order to smooth intermittent heavy loads that can cause the service to fail or the task to time out. This can help to minimize the impact of peaks in demand on availability and responsiveness for both the task and the service. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Queue-Based Load Leveling pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/queue-based-load-leveling) |
@ -0,0 +1,7 @@ |
||||
# Queue-Based load leveling |
||||
|
||||
Use a queue that acts as a buffer between a task and a service it invokes in order to smooth intermittent heavy loads that can cause the service to fail or the task to time out. This can help to minimize the impact of peaks in demand on availability and responsiveness for both the task and the service. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Queue-Based Load Leveling pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/queue-based-load-leveling) |
@ -0,0 +1,7 @@ |
||||
# Retry |
||||
|
||||
Enable an application to handle transient failures when it tries to connect to a service or network resource, by transparently retrying a failed operation. This can improve the stability of the application. |
||||
|
||||
Learn more from the following resources: |
||||
|
||||
- [@article@Retry pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/retry) |
@ -0,0 +1,7 @@ |
||||
# Scheduling Agent Supervisor |
||||
|
||||
Coordinate a set of distributed actions as a single operation. If any of the actions fail, try to handle the failures transparently, or else undo the work that was performed, so the entire operation succeeds or fails as a whole. This can add resiliency to a distributed system, by enabling it to recover and retry actions that fail due to transient exceptions, long-lasting faults, and process failures. |
||||
|
||||
Learn more from the following links: |
||||
|
||||
- [@article@Scheduler Agent Supervisor pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/scheduler-agent-supervisor) |
@ -0,0 +1,7 @@ |
||||
# Throttling |
||||
|
||||
Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service. This can allow the system to continue to function and meet service level agreements, even when an increase in demand places an extreme load on resources. |
||||
|
||||
To learn more visit the following links: |
||||
|
||||
- [@article@Throttling pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/throttling) |
@ -0,0 +1,7 @@ |
||||
# Valet Key |
||||
|
||||
Use a token that provides clients with restricted direct access to a specific resource, in order to offload data transfer from the application. This is particularly useful in applications that use cloud-hosted storage systems or queues, and can minimize cost and maximize scalability and performance. |
||||
|
||||
Learn more from the following links: |
||||
|
||||
- [@article@Valet Key pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/valet-key) |
Loading…
Reference in new issue