“strive 2/25 ~ 3/04”
Use
-
[gem] expeditor
- Expeditor is a Ruby library that provides asynchronous execution and fault tolerance for microservices.
Read
-
[rails] Rails Application启动流程
-
[code] 無瑕的程式碼 Clean Code 心得分享
Book
-
[book] Cloud Design Patterns
-
Load data on demand into a cache from a data store. This pattern can improve performance and also helps to maintain consistency between data held in the cache and the data in the underlying data store.
- consider
- Lifetime of Cached Data
- Evicting Data
- Priming the Cache
- Consistency
- Local (In-Memory) Caching
- consider
-
Handle faults that may take a variable amount of time to rectify when connecting to a remote service or resource. This pattern can improve the stability and resiliency of an application.
- consider
- Exception Handling
- Types of Exceptions
- Logging
- Recoverability
- Testing Failed Operations
- Manual Override
- Concurrency
- Resource Differentiation
- Accelerated Circuit Breaking
- Replaying Failed Requests
- Inappropriate Timeouts on External Services
- When to Use this Pattern
- To prevent an application from attempting to invoke a remote service or access a shared resource if this operation is highly likely to fail.
- consider
-
Compensating Transaction Pattern
- How to handle cancel or exception on a series of steps
- Undo the work performed by a series of steps, which together define an eventually consistent operation, if one or more of the steps fail.
- idempotency-patterns
- When to Use this Pattern
- Use this pattern only for operations that must be undone if they fail. If possible, design solutions to avoid the complexity of requiring compensating transactions
-