Integration

Fan-Out/Fan-In
Intent The pattern is used when a source system needs to run one or more long-running processes that will fetch some data. The source will not block itself waiting for the reply. The pattern will run the same function in multiple services or machines to fetch the data. This is equivalent to invoking the function multiple times on different chunks of data. Explanation The FanOut/FanIn service will take in a list of requests and a consumer.
Tolerant Reader
Intent Tolerant Reader is an integration pattern that helps creating robust communication systems. The idea is to be as tolerant as possible when reading data from another service. This way, when the communication schema changes, the readers must not break. Explanation Real world example We are persisting rainbowfish objects to file and later on they need to be restored. What makes it problematic is that rainbowfish data structure is versioned and evolves over time.